github.com/zhongdalu/gf@v1.0.0/geg/util/gvalid/gvalid_struct1.go (about) 1 package main 2 3 import ( 4 "github.com/zhongdalu/gf/g" 5 "github.com/zhongdalu/gf/g/util/gvalid" 6 ) 7 8 type User struct { 9 Uid int `gvalid:"uid @integer|min:1#用户UID不能为空"` 10 Name string `gvalid:"name @required|length:6,30#请输入用户名称|用户名称长度非法"` 11 Pass1 string `gvalid:"password1@required|password3"` 12 Pass2 string `gvalid:"password2@required|password3|same:password1#||两次密码不一致,请重新输入"` 13 } 14 15 func main() { 16 user := &User{ 17 Name: "john", 18 Pass1: "Abc123!@#", 19 Pass2: "123", 20 } 21 22 // 使用结构体定义的校验规则和错误提示进行校验 23 g.Dump(gvalid.CheckStruct(user, nil).Map()) 24 25 // 自定义校验规则和错误提示,对定义的特定校验规则和错误提示进行覆盖 26 rules := map[string]string{ 27 "Uid": "required", 28 } 29 msgs := map[string]interface{}{ 30 "Pass2": map[string]string{ 31 "password3": "名称不能为空", 32 }, 33 } 34 g.Dump(gvalid.CheckStruct(user, rules, msgs).Map()) 35 }