6 个版本 (破坏性更新)
0.5.0 | 2022年10月18日 |
---|---|
0.4.0 | 2022年10月17日 |
0.3.0 | 2022年10月13日 |
0.2.1 | 2021年2月18日 |
0.1.0 | 2021年1月7日 |
#1984 在 解析器实现
每月下载量317
28KB
594 代码行
Validatron
Validatron 是一个为 Rust 设计的用于在数据使用之前进行广泛完整性检查的数据结构验证库。
它大量受到了 keats/validator crate 的启发,但采用了不同的设计选择
- 不快速失败,返回尽可能多的错误
- 返回可序列化的错误类型
- 提供易于扩展的验证器
示例
(检查示例目录以获取更多示例。)
use validatron::Validate;
#[derive(Debug, Validate)]
struct MyStruct {
#[validatron(min = 42)]
a: i64,
#[validatron(max_len = 5)]
b: Vec<u32>,
}
fn main() {
let good = MyStruct {
a: 666,
b: vec![],
};
assert!(good.validate().is_ok());
let bad = MyStruct {
a: 1,
b: vec![42; 25],
};
let result = bad.validate();
assert!(result.is_err());
println!("{:#?}", result);
}
许可证
validatron
使用 MIT 许可证;有关更多详细信息,请参阅 LICENSE 文件。
依赖项
~1.2–1.7MB
~40K SLoC