You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 10 Next »
gvalid默认的错误提示是英文的,并且错误提示信息支持i18n特性,也就是说我们可以通过配置i18n文件即可替换默认的错误提示。
gvalid
i18n
i18n国际化功能请参考章节:I18N国际化
默认的英文国际化语言配置文件参考:https://github.com/gogf/gf/tree/master/util/gvalid/i18n/en
我们提供了建议的中文i18n国际化语言配置文件:https://github.com/gogf/gf/tree/master/util/gvalid/i18n/cn
当在i18n中找不到对应规则的错误提示时,将会使用__default__配置的错误提示信息。往往使用在自定义规则中。
__default__
I18N
en.toml
"ReuiredUserName" = "Please input user name" "ReuiredUserType" = "Please select user type"
zh-CN.toml
"ReuiredUserName" = "请输入用户名称" "ReuiredUserType" = "请选择用户类型"
package main import ( "context" "github.com/gogf/gf/frame/g" "github.com/gogf/gf/i18n/gi18n" "github.com/gogf/gf/util/gconv" ) func main() { type User struct { Name string `v:"required#ReuiredUserName"` Type int `v:"required#ReuiredUserType"` } var ( data = g.Map{ "name": "john", } user = User{} ctxEn = gi18n.WithLanguage(context.TODO(), "en") ctxCh = gi18n.WithLanguage(context.TODO(), "zh-CN") ) if err := gconv.Scan(data, &user); err != nil { panic(err) } // 英文 if err := g.Validator().Ctx(ctxEn).Data(data).CheckStruct(user); err != nil { g.Dump(err.String()) } // 中文 if err := g.Validator().Ctx(ctxCh).Data(data).CheckStruct(user); err != nil { g.Dump(err.String()) } }
执行后,终端输出:
Please select user type 请选择用户类型