我正在尝试为杜松子酒创建自己的验证器,但我希望它是“通用的”,所以比方说,我想要一个接口 IsValid
type IsValid interface {
IsValid() bool
}
,并使一些结构在实现该接口的某些字段中具有绑定:“IsValid”。
但我不知道如何编写我的自定义验证器来获取该字段,将其转换为 IsValid 接口,然后执行 isValid 方法。
我正在使用 go-playground 验证程序包:https ://github.com/go-playground/validator
if v, ok := binding.Validator.Engine().(*validator.Validate); ok {
// registering validation for isValid
v.RegisterValidation("isValid", func(fl validator.FieldLevel) bool {
isValidField := // TODO do something to cast it to that interface
return isValidField.IsValid()
})
}
翻过高山走不出你
相关分类