#forms #query-string #values #checker #web #check #validation

form-checker

为 Web 开发者提供的库,用于检查提交的表单或查询字符串中的值

3 个版本

使用旧的 Rust 2015

0.2.2 2017年1月15日
0.2.1 2017年1月14日
0.2.0 2017年1月14日

57#query-string

MIT 许可协议

31KB
391

form-checker-rs

为 Web 开发者提供的库,用于检查提交的表单或查询字符串中的值。

安装

# Cargo.toml
[dependencies]
form-checker = "0.2"

示例

extern crate form_checker;

use form_checker::{Validator, Checker, Rule, Str, I64};

fn main() {
    // Prepare params, this is just for illustrating. Usually, we get
    // params through decoding a URL-encoded string into a
    // HashMap<String, Vec<String>>.
    let mut params = std::collections::HashMap::new();
    params.insert("name".to_string(), vec!["bob".to_string()]);
    params.insert("age".to_string(), vec!["20".to_string()]);
   
    // Make a new Validator.
    let mut validator = Validator::new();
    // Add Checkers to Validator.
    validator
        .check(Checker::new("name", "姓名", Str)
               .meet(Rule::Max(5))
               .meet(Rule::Min(2)))
        .check(Checker::new("age", "年龄", I64)
               .meet(Rule::Max(100))
               .meet(Rule::Min(18)));
    // Validate it!
    validator.validate(&params);
    // Decide whether it is valid.
    assert!(validator.is_valid());
    // Show me the valid data, assuming it is valid.
    assert_eq!(validator.get_required("name").as_str().unwrap(), "bob".to_string());
    assert_eq!(validator.get_required("age").as_i64().unwrap(), 20);
}

完整文档

许可协议

form-checker-rs 主要在 MIT 许可协议的条款下分发。

请参阅 LICENSE-MIT 以获取详细信息。

依赖项

~3.5MB
~72K SLoC