validator icon indicating copy to clipboard operation
validator copied to clipboard

need a method get ref-filed's alias when "required_without=Password"

Open fanybook opened this issue 3 years ago • 0 comments

  • [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

fanybook avatar Jan 17 '22 11:01 fanybook