zisvalidator 0.1.6

A validator for struct and enum
Documentation

Zisvalidator

Zisvalidator is designed for validating input struct or enum in web or other scence.

Reference to Serde and Validator.

EXAMPLE

Validate for Struct and Enum

#[derive(Validate)]
struct S(String);               //validate tuple struct with 1 element
#[derive(Validate)]
struct S(String,u64,);          //validate tuple struct with mulitple elements
#[derive(Validate)]
struct S{                       //validate struct with fields
    str:String 
}

#[derive(Validate)]
enum E{                         //validate enum
    S(String),                  //validate tuple varient with 1 element
    Tuple(String,String,),      //validate tuple varient with multiple element
    Nested{                     //validate varient with fields
        field:String,
    }
}

Validate Arrribute

Container Attribute

  • #[validate(schema = "foo")]

    Validate type T by customer by function foo as Fn(t:T) -> Result<(),ValidatorError)

  • #[validate(custom = "foo")]

    Valid for tuple struct.For example,for type struct S(String,String),validate by function foo as Fn(t:&String) -> Result<(),ValidatorError>

  • #[validate(range = "start..end")]

    Valid for tuple struct.Validate for elements' range.

Field Attribute

  • #[validate(range = "start..end")]

    Validate for fields' range.

  • #[validate(custom = "foo")]

    Validate by function foo as Fn(t:&T) -> Result<(),ValidatorError>.

Variant Attribute

  • #[validate(range = "start..end")]

    Validate for variants' range.

  • #[validate(custom = "foo")]

    Validate by function foo as Fn(t:&T) -> Result<(),ValidatorError>.