我正在尝试使用https://github.com/go-playground/validator进行验证。
我面临的问题是,条件验证依赖于父结构值。
首先,验证可以完成吗?如果不能,你能给我一个解决这些问题的提示吗?
谢谢。
type A struct {
Enabled bool `json:"enabled" validate:"required"`
Reason struct {
Note string `json:"note" validate:"required_if=Enabled true"` // if parent's Enabled is true that struct will be required
} `json:"reason" validate:"required"`
}发布于 2022-11-04 04:11:31
只需将Reason定义为指针,就可以了。
type A struct {
Enabled bool `json:"enabled" validate:"required"`
Reason *Reason `json:"reason" validate:"required_if=Enabled true"`
}
type Reason struct {
Note string `json:"note" validate:"required"`
} 另一种方法:您可以自定义验证https://pkg.go.dev/github.com/go-playground/validator/v10#hdr-Custom_Validation_Functions。
https://stackoverflow.com/questions/72474095
复制相似问题