Crate form_checker [] [src]

A library to check the values from a submitted form or a query string.

This library provides a validator, with the hope of helping Web developers check user-submitted values in an easy and declarative way.

Examples

// 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);

Structs

Checker

The checker for a field.

ChinaMobile

A field type to represent a mobile number used in China.

Email

A field type to represent an Email.

I64

A general field type to represent an integer field.

SomeMessage

A specific message

Str

A general field type to represent a string field.

Validator

The Validator type.

Enums

CheckerOption

Option you can set to a checker.

FieldValue

An enum to represent the primitive value extracted, resulting from applying a checker.

Message

A general message wrapper

MessageKind

This enum is used to mark a type of a Message

Rule

This enum offers rules avalable to be applied to a FieldValue.

Traits

Checkable

Represents a type to fed to the Validator.

FieldType

This trait represents the field type.

MessageRenderer

If you want to control how the message is displayed, implement this trait.