validator
validator copied to clipboard
need a method get ref-filed's alias when "required_without=Password"
- [x] I have looked at the documentation here first?
- [X] I have looked at the examples provided that may showcase my question here?
Package version eg. v9, v10:
v10
Issue, Question or Enhancement:
how to get ref-field's alias
Code sample, to showcase or reproduce:
type AuthRegisterRequest struct {
Mobile string `json:"mobile" validate:"required"`
Captcha string `json:"captcha" validate:"required_without=Password,omitempty,len=6" label:"Captcha alias"`
Password string `json:"password" validate:"required_without=Captcha,omitempty,min=6,max=20" label:"Password alias"`
PasswordConfirm string `json:"password_confirm" validate:"eqfield=Password"`
}
validate := validator.New()
validate.RegisterTagNameFunc(func(field reflect.StructField) string {
name := field.Tag.Get("label")
return name
})
validate.RegisterTranslation("required_without", translator, func(ut ut.Translator) error {
return ut.Add("required_without", "if {0} empty,{1} is a required field", false) // see universal-translator for details
}, func(ut ut.Translator, fe validator.FieldError) string {
// fe.Field() is affected by RegisterTagNameFunc
// fe.Param() is not affected by RegisterTagNameFunc
t, _ := ut.T("required_without", fe.Param(), fe.Field())
return t
})
need a method get "Captcha alias" / "Password alias",eg. provide a method fe.StructElem() return a instance of AuthRegisterRequest