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