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日 |
#128 in #user-input
305 每月下载量
用于 validatron
14KB
268 行
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.5MB
~36K SLoC