7个版本
0.3.2 | 2020年6月21日 |
---|---|
0.3.1 | 2020年6月21日 |
0.2.0 | 2020年6月15日 |
0.1.2 | 2020年6月11日 |
#1543 在 编码
每月55次 下载
130KB
3K SLoC
Verify
Verify是Rust的另一个验证库。它的主要概念包括可以验证任何结构值验证器。这个想法基于Serde模型,甚至还有一个可选的Serde兼容类型包装器。
基本用法
没有功能特性的库本身并不做很多事情,它只提供特质定义和常见类型。
为了使用它,你需要编写或找到验证器,或者启用库的某些实现功能。目前只官方支持Schemars。
以下非常基本的示例展示了如何使用Verify和Schemars创建一个自验证类型
(Schemars还无法在派生期间添加额外规则,但将在未来实现。)
#[derive(Default, Verify, Serialize, JsonSchema)]
#[verify(schemars, serde)]
struct ExampleStruct {
example_value: i32,
}
fn main() {
let example = ExampleStruct::default();
// This will always return Ok(())
assert!(example.verify().is_ok());
}
幕后有很多事情在发生。更多详情,请访问文档。
更多示例请访问示例目录。
Cargo功能
默认情况下,只启用了smallvec
功能。
serde
smallvec
在库中使用smallvec代替某些类型的Vec
。
schemars
通过为它的模式类型实现Validator
、Verifier
和Verify
来启用Schemars集成。
依赖项
~1.2–2.2MB
~48K SLoC