关闭Beego 如何设置默认验证信息为中文的方法之前已经写过
beego validate验证包的修改原有验证提示信息与使用自定义函数验证的方法
在原有的基础上,完善了自定义方法的验证和错误信息返回
//默认设置通用的错误验证和提示项
func SetDefaultMessage() {
//增加默认的自定义验证方法
err := validation.AddCustomFunc("NonNegativeInteger", NonNegativeInteger)
if err !=nil{
logs.Info("自定义验证错误:",err)
}
validation.SetDefaultMessage(MessageTmpls)
}
var NonNegativeInteger validation.CustomFunc = func(v *validation.Validation, obj interface{}, key string) {
var regu = regexp.MustCompile("^\\d+$"); //写上自己的验证内容,我为正则验证
name, ok:= obj.(int) //断言为我传入的整型
if !ok {
v.AddError(key, "传入的字段格式不正确")
return
}
result := regu.MatchString(strconv.FormatInt(int64(name),10))
if !result {
v.AddError(key, "必须是非负正整数") //将错误信息直接返回 配合前文我写的错误信息拼接字段名,就可以做到直接返回完整的错误提示
}
}
效果展示:
版权声明:本文为fengke549015原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。