我想跳过对特定字段的 json 文件中的空数组的验证。您可以在下面看到 Book 结构定义,如果没有在 json 文件中声明作者,则可以验证该定义。另一方面,如果为作者定义了一个空数组,它就会失败。是否可以使用现有标签实现此行为,还是必须定义自定义验证器?
type Book struct {
Title string `json:"title" validate:"min=2"`
Authors `json:"authors" validate:"omitempty,min=1,dive,min=3"`
// ...
}
我正在通过“github.com/go-playground/validator/v10”包的验证器验证 Book 结构:
book := &Book{}
if err := json.Unmarshal(data, book); err != nil {
return nil, err
}
v := validator.New()
if err := v.Struct(book); err != nil {
return nil, err
}
作品:
{
"title": "A Book"
}
失败并显示“键:'Book.Authors' 错误:'Authors' 的字段验证在 'min' 标签上失败”
{
"title": "A Book",
"authors": []
}
12345678_0001
相关分类