- update validator

master
李光春 2 years ago
parent d86c84c74e
commit 93bc4a0bc5

@ -8,6 +8,8 @@ import (
"github.com/go-playground/validator/v10" "github.com/go-playground/validator/v10"
enTranslations "github.com/go-playground/validator/v10/translations/en" enTranslations "github.com/go-playground/validator/v10/translations/en"
chTranslations "github.com/go-playground/validator/v10/translations/zh" chTranslations "github.com/go-playground/validator/v10/translations/zh"
"reflect"
"strings"
) )
type Validator struct { type Validator struct {
@ -24,6 +26,19 @@ func NewValidator(local string) (*Validator, error) {
var ok bool var ok bool
if v.validate, ok = binding.Validator.Engine().(*validator.Validate); ok { if v.validate, ok = binding.Validator.Engine().(*validator.Validate); ok {
v.validate.RegisterTagNameFunc(func(field reflect.StructField) string {
// 自定义名称
validateName := field.Tag.Get("validate_name")
if validateName == "-" {
// 将大写的User替换为json中定义的tag标签 -- "LoginForm.user": "user长度不能超过10个字符"
oldName := strings.SplitN(field.Tag.Get("json"), ",", 2)[0]
if oldName == "-" {
return ""
}
}
return validateName
})
zhT := zh.New() // 中文 zhT := zh.New() // 中文
enT := en.New() // 英文 enT := en.New() // 英文
v.uni = ut.New(enT, zhT, enT) v.uni = ut.New(enT, zhT, enT)

Loading…
Cancel
Save