创新互联GoFrame教程:GoFrame Map校验-基本使用

默认错误提示

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": "两次密码输入不相等"
    }
}

新闻名称:创新互联GoFrame教程:GoFrame Map校验-基本使用
网站路径:http://www.csdahua.cn/qtweb/news18/254868.html

网站建设、网络推广公司-快上网,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 快上网