7 个版本
0.1.6 | 2021 年 5 月 9 日 |
---|---|
0.1.5 | 2021 年 4 月 20 日 |
#2616 在 Rust 模式
7KB
83 行
Zisvalidator
Zisvalidator 设计用于在 Web 或其他场景中验证输入的结构体或枚举。
示例
结构体和枚举验证
#[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")]
通过函数
foo
验证类型 T,该函数作为Fn(t:T) -> Result<(),ValidatorError)
-
#[validate(custom = "foo")]
适用于元组结构体。例如,对于类型
struct S(String,String)
,通过函数foo
验证,作为Fn(t:&String) -> Result<(),ValidatorError>
-
#[validate(range = "start..end")]
适用于元组结构体。验证元素的取值范围。
字段属性
-
#[validate(range = "start..end")]
验证字段的取值范围。
-
#[validate(custom = "foo")]
通过函数
foo
验证,作为Fn(t:&T) -> Result<(),ValidatorError>
.
变体属性
-
#[validate(range = "start..end")]
验证变体的取值范围。
-
#[validate(custom = "foo")]
通过函数
foo
验证,作为Fn(t:&T) -> Result<(),ValidatorError>
.
依赖关系
~225KB