温州平台网站建设,有创意的网络公司名称,南山区公司网站制作,网站后台asp源码自定义验证方法#xff1a;
// NoChineseChars 不包含中文字符的校验器
func NoChineseChars(fl validator.FieldLevel) bool {// 获取字段值fieldValue : fl.Field().String()// 遍历字符串中的每个字符for _, char : range fieldValue {// 检查字符是否是中文字符if unicod…自定义验证方法
// NoChineseChars 不包含中文字符的校验器
func NoChineseChars(fl validator.FieldLevel) bool {// 获取字段值fieldValue : fl.Field().String()// 遍历字符串中的每个字符for _, char : range fieldValue {// 检查字符是否是中文字符if unicode.Is(unicode.Han, char) {return false}}return true
}
注册自定义方法和错误
需要在初始化验证器时使用
chinese : zh.New()
uni : ut.New(chinese, chinese)
trans, _ : uni.GetTranslator(zh)
validate : validator.New()// 注册方法
err : validate.RegisterValidation(noChinese, NoChineseChars)
if err ! nil {return err
}
// 注册中文字符验证器自定义错误
err validate.RegisterTranslation(noChinese, trans, func(ut ut.Translator) error {return ut.Add(noChinese, {0} 不能包含中文字符, true)
}, func(ut ut.Translator, fe validator.FieldError) string {t, _ : ut.T(noChinese, fe.Field())return t
})
if err ! nil {return err
}
如何使用
type Test struct{UUID string validate:required,max100,noChinese json:uuid
}