7 releases
| 0.1.6 | May 9, 2021 |
|---|---|
| 0.1.5 | Apr 20, 2021 |
#129 in #derive
7KB
83 lines
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
fooasFn(t:T) -> Result<(),ValidatorError) -
#[validate(custom = "foo")]
Valid for tuple struct.For example,for type
struct S(String,String),validate by functionfooasFn(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
fooasFn(t:&T) -> Result<(),ValidatorError>.
Variant Attribute
-
#[validate(range = "start..end")]
Validate for variants' range.
-
#[validate(custom = "foo")]
Validate by function
fooasFn(t:&T) -> Result<(),ValidatorError>.
Dependencies
~240KB