6个版本
0.1.6 | 2021年5月9日 |
---|---|
0.1.5 | 2021年4月20日 |
#111 in #validate
在zisvalidator中使用
37KB
870 行
Zisvalidator
Zisvalidator旨在验证网络或其他场景中的输入结构体或枚举。
示例
验证结构体和枚举
#[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>
。
依赖关系
~1.5MB
~35K SLoC