gpt4 book ai didi

validation - GoLang 验证器非必填字段返回错误

转载 作者:行者123 更新时间:2023-12-05 05:39:23 28 4
gpt4 key购买 nike

我正在使用 GoLang Validator在结构上验证其字段。即使我没有添加 required 标签,它仍然表现得好像是必需的。

type Order struct {
// ... other fields
UserID string `json:"userId" validate:"uuid4"`
// ... other fields
}

if err = validator.New().Struct(i); err != nil {
return err
}

输出:用户 ID:未知错误

它不是必需的,因此该值为零值,但它仍然返回错误。我在这里做错了什么吗?

最佳答案

您应该添加 omitempty允许空值的验证器。 Try out the code below on Go playground .

    type Order struct {
// ... other fields
UserID string `json:"omitempty,userId" validate:"omitempty,uuid4"`
// ... other fields
}

if err := validator.New().Struct(Order{}); err != nil {
return err
}

请注意,要将结构编码为 JSON,您还需要设置 omitempty 验证器,如果您希望允许空值...

关于validation - GoLang 验证器非必填字段返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72700980/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com