数据校验组件支持i18n
特性,内部使用了GOframe
框架统一的i18n
组件实现。默认使用默认的i18n
单例对象,即g.I18n()
对象。
发展壮大离不开广大客户长期以来的信赖与支持,我们将始终秉承“诚信为本、服务至上”的服务理念,坚持“二合一”的优良服务模式,真诚服务每家企业,认真做好每个细节,不断完善自我,成就企业,实现共赢。行业涉及食品包装袋等,在成都网站建设、全网整合营销推广、WAP手机网站、VI设计、软件开发等项目上具有丰富的设计经验。
默认的英文国际化语言配置文件参考:https://github.com/gogf/gf/v2/tree/master/util/gvalid/i18n/en
我们提供了建议的中文i18n
国际化语言配置文件:https://github.com/gogf/gf/v2/tree/master/util/gvalid/i18n/cn
当在i18n
中找不到对应规则的错误提示时,将会使用__default__
配置的错误提示信息。往往使用在自定义规则中。
我们通过中间件统一设置请求的错误提示i18n
语言。
注意工程目录结构,以便于默认的g.i18n()
对象能自动读取配置。有相当一部分同学倒在了这里
├── main.go
└── i18n
├── en.toml
└── zh-CN.toml
en.toml
"ReuiredUserName" = "Please input user name"
"ReuiredUserType" = "Please select user type"
zh-CN.toml
"ReuiredUserName" = "请输入用户名称"
"ReuiredUserType" = "请选择用户类型"
package main
import (
"github.com/gogf/gf/v2/frame/g"
"github.com/gogf/gf/v2/i18n/gi18n"
"github.com/gogf/gf/v2/os/gctx"
"github.com/gogf/gf/v2/util/gconv"
)
func main() {
type User struct {
Name string `v:"required#ReuiredUserName"`
Type int `v:"required#ReuiredUserType"`
}
var (
ctx = gctx.New()
data = g.Map{
"name": "john",
}
user = User{}
ctxEn = gi18n.WithLanguage(ctx, "en")
ctxCh = gi18n.WithLanguage(ctx, "zh-CN")
)
if err := gconv.Scan(data, &user); err != nil {
panic(err)
}
// 英文
if err := g.Validator().Assoc(data).Data(user).Run(ctxEn); err != nil {
g.Dump(err.String())
}
// 中文
if err := g.Validator().Assoc(data).Data(user).Run(ctxCh); err != nil {
g.Dump(err.String())
}
}
执行后,终端输出:
Please select user type
请选择用户类型
网页名称:创新互联GoFrame教程:GoFrame数据校验-自定义错误
URL链接:http://www.stwzsj.com/qtweb/news42/14442.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联