github.com/gogf/gf@v1.16.9/.example/util/gvalid/gvalid_i18n.go (about) 1 package main 2 3 import ( 4 "context" 5 6 "github.com/gogf/gf/frame/g" 7 "github.com/gogf/gf/i18n/gi18n" 8 "github.com/gogf/gf/util/gconv" 9 ) 10 11 func main() { 12 type User struct { 13 Name string `v:"required#ReuiredUserName"` 14 Type int `v:"required#ReuiredUserType"` 15 Project string `v:"size:10#MustSize"` 16 } 17 var ( 18 data = g.Map{ 19 "name": "john", 20 "project": "gf", 21 } 22 user = User{} 23 ctxEn = gi18n.WithLanguage(context.TODO(), "en") 24 ctxCh = gi18n.WithLanguage(context.TODO(), "zh-CN") 25 ) 26 27 if err := gconv.Scan(data, &user); err != nil { 28 panic(err) 29 } 30 // 英文 31 if err := g.Validator().Ctx(ctxEn).Data(data).CheckStruct(user); err != nil { 32 g.Dump(err.String()) 33 } 34 // 中文 35 if err := g.Validator().Ctx(ctxCh).Data(data).CheckStruct(user); err != nil { 36 g.Dump(err.String()) 37 } 38 }