模型验证#
模型验证#
Huma 提供了一个实用工具,使在正常的 HTTP 请求/响应流程之外验证模型变得更容易,例如在应用启动时加载示例或默认数据并验证其正确性。这只是内置验证功能的薄包装器,但它抽象了高效操作所需的一些样板代码,并提供了一个简单的 API。
code.go
type MyExample struct {
Name string `json:"name" maxLength:"5"`
Age int `json:"age" minimum:"25"`
}
var value any
json.Unmarshal([]byte(`{"name": "abcdefg", "age": 1}`), &value)
validator := huma.NewModelValidator()
errs := validator.Validate(reflect.TypeOf(MyExample{}), value)
if errs != nil {
fmt.Println("Validation error", errs)
}
Concurrency
huma.ModelValidator 不是 goroutine 安全的!对于更灵活的验证,请直接使用 huma.Validate 函数,并提供您自己的注册表、路径缓冲区、验证结果结构等。
深入了解#
- 参考
huma.ModelValidator模型验证器实用工具
- 外部链接
- 另请参阅