diff --git a/internal/base/handler/handler.go b/internal/base/handler/handler.go index 8e7ef118..c3b6025e 100644 --- a/internal/base/handler/handler.go +++ b/internal/base/handler/handler.go @@ -52,7 +52,7 @@ func BindAndCheck(ctx *gin.Context, data interface{}) bool { return true } - errField, err := validator.GetValidatorByLang(lang.Abbr()).Check(data) + errField, err := validator.GetValidatorByLang(lang).Check(data) if err != nil { HandleResponse(ctx, err, errField) return true @@ -70,6 +70,6 @@ func BindAndCheckReturnErr(ctx *gin.Context, data interface{}) (errFields []*val return nil } - errFields, _ = validator.GetValidatorByLang(lang.Abbr()).Check(data) + errFields, _ = validator.GetValidatorByLang(lang).Check(data) return errFields } diff --git a/internal/base/validator/validator.go b/internal/base/validator/validator.go index 0da2f6ae..6ed4d358 100644 --- a/internal/base/validator/validator.go +++ b/internal/base/validator/validator.go @@ -75,7 +75,7 @@ type FormErrorField struct { } // GlobalValidatorMapping is a mapping from validator to translator used -var GlobalValidatorMapping = make(map[string]*MyValidator, 0) +var GlobalValidatorMapping = make(map[i18n.Language]*MyValidator, 0) func init() { for _, t := range allLanguageTranslators { @@ -85,7 +85,7 @@ func init() { panic(err) } } - GlobalValidatorMapping[t.La.Abbr()] = &MyValidator{Validate: val, Tran: tran, Lang: t.La} + GlobalValidatorMapping[t.La] = &MyValidator{Validate: val, Tran: tran, Lang: t.La} } } @@ -119,11 +119,11 @@ func createDefaultValidator(la i18n.Language) *validator.Validate { return validate } -func GetValidatorByLang(la string) *MyValidator { - if GlobalValidatorMapping[la] != nil { - return GlobalValidatorMapping[la] +func GetValidatorByLang(lang i18n.Language) *MyValidator { + if GlobalValidatorMapping[lang] != nil { + return GlobalValidatorMapping[lang] } - return GlobalValidatorMapping[i18n.DefaultLanguage.Abbr()] + return GlobalValidatorMapping[i18n.DefaultLanguage] } // Check /