https://www.cnblogs.com/jiujuan/p/13823864.html
type User struct {
Name string `json:"name" validate:"min=0,max=35"`
Age unit8 `json:"age" validate:"lte=90,gte=0"`
}
type User struct {
Name string `validate:"contains=tom"`
Age int `validate:"min=1"`
}
ip:字段值是否包含有效的IP地址,validate:"ip"
ipv4:字段值是否包含有效的ipv4地址,validate:"ipv4"
ipv6:字段值是否包含有效的ipv6地址,validate:"ipv6"
uri:字段值是否包含有效的uri,validate:"uri"
url:字段值是否包含有效的uri,validate:"url"
required关键字表示该字段不能为默认值,否则报错
var validate *validator.Validate
validate = validator.New()
myEmail := "joeybloggs@gmail.com"
errs := validate.Var(myEmail, "required,email") // 只有m
if errs != nil {
fmt.Println(errs)
}
var i int
errs = validate.Var(i, "gt=1,lt=10") // 只有i的值在区间(1,10)内才满足判断条件(gt=greater than, lt=less than)
user := map[string]interface{}{"name": "Arshiya Kiani", "email": "zytel3301.gmail.com"}
rules := map[string]interface{}{"name": "required,min=8,max=32", "email": "omitempty,required,email"}
validateMap := validate.ValidateMap(user, rules)
for k, v := range validateMap {
fmt.Println(k, v)
}