package main
import (
	"github.com/GOgf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gctx"
)
func main() {
	var (
		ctx    = gctx.New()
		params = map[string]interface{}{
			"passport":  "",
			"password":  "123456",
			"password2": "1234567",
		}
		rules = map[string]string{
			"passport":  "required|length:6,16",
			"password":  "required|length:6,16|same:password2",
			"password2": "required|length:6,16",
		}
	)   
	err := g.Validator().Rules(rules).Data(params).Run(ctx)  
	if err != nil {
		g.Dump(err.Maps())
	}
}执行后,终端输出:

创新互联公司专注为客户提供全方位的互联网综合服务,包含不限于成都网站制作、成都网站设计、淇滨网络推广、重庆小程序开发公司、淇滨网络营销、淇滨企业策划、淇滨品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联公司为所有大学生创业者提供淇滨建站搭建服务,24小时服务热线:028-86922220,官方网址:www.cdcxhl.com
{
    "passport": {
        "required": "The passport field is required",
        "length":   "The passport value `` length must be between 6 and 16",
    },
    "password": {
        "same": "The password value `123456` must be the same as field password2",
    },
}package main
import (
	"github.com/gogf/gf/v2/frame/g"
	"github.com/gogf/gf/v2/os/gctx"
)
func main() {
	var (
		ctx    = gctx.New()
		params = map[string]interface{}{
			"passport":  "",
			"password":  "123456",
			"password2": "1234567",
		}
		rules = map[string]string{
			"passport":  "required|length:6,16",
			"password":  "required|length:6,16|same:password2",
			"password2": "required|length:6,16",
		}
		messages = map[string]interface{}{
			"passport": "账号不能为空|账号长度应当在{min}到{max}之间",
			"password": map[string]string{
				"required": "密码不能为空",
				"same":     "两次密码输入不相等",
			},
		}
	)  
	err := g.Validator().Messages(messages).Rules(rules).Data(params).Run(ctx)  
	if err != nil {
		g.Dump(err.Maps())
	}
}该示例同时也展示了messsages自定义错误信息传递的两种数据类型,string或者map[string]string。其中map[string]string类型参数需要指定对应字段、对应规则的错误提示信息,是一个二维的“关联数组”。该示例执行后,终端输出:
{
    "passport": {
            "length": "账号长度应当在6到16之间",
            "required": "账号不能为空"
    },
    "password": {
            "same": "两次密码输入不相等"
    }
}