Some checks failed
Build docker and publish / linux (1.24.5) (push) Failing after 25s
feat(admin): 新增工会管理功能 feat(activity): 添加活动管理相关服务 feat(user): 实现用户道具卡和积分管理 feat(guild): 新增工会成员管理功能 fix: 修复数据库连接配置 fix: 修正jwtoken导入路径 fix: 解决端口冲突问题 style: 统一代码格式和注释风格 style: 更新项目常量命名 docs: 添加项目框架和开发规范文档 docs: 更新接口文档注释 chore: 移除无用代码和文件 chore: 更新Makefile和配置文件 chore: 清理日志文件 test: 添加道具卡测试脚本
47 lines
1.2 KiB
Go
47 lines
1.2 KiB
Go
package validation
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"bindbox-game/configs"
|
|
|
|
"github.com/gin-gonic/gin/binding"
|
|
"github.com/go-playground/locales/en"
|
|
"github.com/go-playground/locales/zh"
|
|
ut "github.com/go-playground/universal-translator"
|
|
"github.com/go-playground/validator/v10"
|
|
enTranslation "github.com/go-playground/validator/v10/translations/en"
|
|
zhTranslation "github.com/go-playground/validator/v10/translations/zh"
|
|
)
|
|
|
|
var trans ut.Translator
|
|
|
|
func init() {
|
|
lang := configs.Get().Language.Local
|
|
|
|
if lang == configs.ZhCN {
|
|
trans, _ = ut.New(zh.New()).GetTranslator("zh")
|
|
if err := zhTranslation.RegisterDefaultTranslations(binding.Validator.Engine().(*validator.Validate), trans); err != nil {
|
|
fmt.Println("validator zh translation error", err)
|
|
}
|
|
}
|
|
|
|
if lang == configs.EnUS {
|
|
trans, _ = ut.New(en.New()).GetTranslator("en")
|
|
if err := enTranslation.RegisterDefaultTranslations(binding.Validator.Engine().(*validator.Validate), trans); err != nil {
|
|
fmt.Println("validator en translation error", err)
|
|
}
|
|
}
|
|
}
|
|
|
|
func Error(err error) (message string) {
|
|
if validationErrors, ok := err.(validator.ValidationErrors); !ok {
|
|
return err.Error()
|
|
} else {
|
|
for _, e := range validationErrors {
|
|
message += e.Translate(trans) + ";"
|
|
}
|
|
}
|
|
return message
|
|
}
|