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  }