| Crates.io | zisvalidator |
| lib.rs | zisvalidator |
| version | 0.1.6 |
| created_at | 2021-04-10 10:01:33.149556+00 |
| updated_at | 2021-05-09 07:47:14.618412+00 |
| description | A validator for struct and enum |
| homepage | |
| repository | https://github.com/zzhengzhuo/zisvalidator.git |
| max_upload_size | |
| id | 381651 |
| size | 5,664 |
Zisvalidator is designed for validating input struct or enum in web or other scence.
Reference to Serde and Validator.
#[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(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.
#[validate(range = "start..end")]
Validate for fields' range.
#[validate(custom = "foo")]
Validate by function foo as Fn(t:&T) -> Result<(),ValidatorError>.
#[validate(range = "start..end")]
Validate for variants' range.
#[validate(custom = "foo")]
Validate by function foo as Fn(t:&T) -> Result<(),ValidatorError>.