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编码

Download history 1/week @ 2024-03-11 28/week @ 2024-04-01

每月55次 下载

MIT 许可证

130KB
3K SLoC

Verify

Latest Version Documentation

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

Serde集成,它允许验证实现Serialize的任何值。

smallvec

在库中使用smallvec代替某些类型的Vec

schemars

通过为它的模式类型实现ValidatorVerifierVerify来启用Schemars集成。

依赖项

~1.2–2.2MB
~48K SLoC