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