为了账号安全,请及时绑定邮箱和手机立即绑定

如何通过 Golang 跳过空数组的 json 验证

如何通过 Golang 跳过空数组的 json 验证

Go
慕神8447489 2022-11-15 09:50:42
我想跳过对特定字段的 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": []}
查看完整描述

1 回答

?
12345678_0001

TA贡献1802条经验 获得超5个赞

这是因为您的 Authors 验证字符串是"omitempty,min=1,dive,min=3". 空切片的长度为 0,即 <1。

如果您将验证字符串替换为"omitempty,min=0,dive,min=3"instead,它将通过。


查看完整回答
反对 回复 2022-11-15
  • 1 回答
  • 0 关注
  • 122 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号