自定义验证器
https://gin-gonic.com/zh-cn/docs/examples/custom-validators/
一、安装包
go get github.com/go-playground/validator
二、使用
1.定义验证器
var Len6Valid validator.Func = func(fl validator.FieldLevel) bool {
data := fl.Field().Interface().(string)
if len(data) > 6 {
fmt.Println("false")
return false
}else {
fmt.Println("true")
return true
}
}
注意:必须为validator.Func类型
2.注册验证器
if v, ok := binding.Validator.Engine().(*validator.Validate); ok {
v.RegisterValidation("len_valid", valid.Len6Valid)
}
在路由匹配前,main中即可
3.结构体中使用
type Article struct {
Id int `form:"id"`
Title string `form:"title" binding:"required,len_valid"`
Desc string `form:"desc" binding:"required,len_valid"`
}
这里必须binding中,而且名称为前面注册的字符串名称