mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2025-05-11 02:15:48 +02:00
Fix validator's translator init issue
This issue may cause an unrecoverable panic when concurrent requests to the server with the wrong parameters.
This commit is contained in:
parent
8b60d61b8e
commit
74a48d3462
1 changed files with 11 additions and 6 deletions
|
@ -24,17 +24,22 @@ type ValidError struct {
|
||||||
Message string
|
Message string
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var trans ut.Translator
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
uni := ut.New(zh.New())
|
||||||
|
trans, _ = uni.GetTranslator("zh")
|
||||||
|
v, ok := binding.Validator.Engine().(*val.Validate)
|
||||||
|
if ok {
|
||||||
|
_ = zhTranslations.RegisterDefaultTranslations(v, trans)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func BindAndValid(c *gin.Context, target interface{}) bool {
|
func BindAndValid(c *gin.Context, target interface{}) bool {
|
||||||
errs := make(map[string]string)
|
errs := make(map[string]string)
|
||||||
err := c.ShouldBindJSON(target)
|
err := c.ShouldBindJSON(target)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println("raw err", err)
|
log.Println("raw err", err)
|
||||||
uni := ut.New(zh.New())
|
|
||||||
trans, _ := uni.GetTranslator("zh")
|
|
||||||
v, ok := binding.Validator.Engine().(*val.Validate)
|
|
||||||
if ok {
|
|
||||||
_ = zhTranslations.RegisterDefaultTranslations(v, trans)
|
|
||||||
}
|
|
||||||
|
|
||||||
verrs, ok := err.(val.ValidationErrors)
|
verrs, ok := err.(val.ValidationErrors)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue