【发布时间】:2020-09-27 20:41:56
【问题描述】:
我正在尝试使用 https://github.com/go-playground/validator 并需要确保用户配置填充了内部结构(即不为零),同时仍允许可选配置:
type Config struct {
Required Setting `validate:"required"`
Optional Setting
}
type Setting struct {
Val string
}
在操场上见https://play.golang.org/p/P_6qY7H64sO。
换句话说:我可以让一个包含嵌套结构的字段在针对嵌套结构触发的验证规则方面是必需的,同时具有相同嵌套结构类型的不同字段是可选的吗?
如果可选字段结构的任何字段不为零(即可选字段已填充,因此需要验证),则仍应验证可选字段结构。
更新我注意到了 structonly 标签,但文档很粗略,我无法按照上述方式使用它。
【问题讨论】:
-
自动零值与明确设置的完全相同的值无法区分。
-
...应该会出错,但操场上不会。
-
@andig 我添加了一种方法,看看它是否有帮助
标签: validation go