mirror of
https://github.com/acepanel/panel.git
synced 2026-02-04 17:17:13 +08:00
67 lines
1.8 KiB
Go
67 lines
1.8 KiB
Go
package rule
|
||
|
||
import (
|
||
ut "github.com/go-playground/universal-translator"
|
||
"github.com/go-playground/validator/v10"
|
||
|
||
"github.com/TheTNB/panel/internal/app"
|
||
)
|
||
|
||
func RegisterRules(v *validator.Validate) error {
|
||
if err := v.RegisterValidation("exists", NewExists(app.Orm).Exists); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterValidation("not_exists", NewNotExists(app.Orm).NotExists); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterValidation("regex", NewRegex().Regex); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterValidation("password", NewPassword().Password); err != nil {
|
||
return err
|
||
}
|
||
|
||
if err := v.RegisterTranslation("exists", *app.Translator,
|
||
func(ut ut.Translator) error {
|
||
return ut.Add("exists", "{0} 不存在", true)
|
||
},
|
||
func(ut ut.Translator, fe validator.FieldError) string {
|
||
t, _ := ut.T("exists", fe.Field())
|
||
return t
|
||
}); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterTranslation("not_exists", *app.Translator,
|
||
func(ut ut.Translator) error {
|
||
return ut.Add("not_exists", "{0} 已存在", true)
|
||
},
|
||
func(ut ut.Translator, fe validator.FieldError) string {
|
||
t, _ := ut.T("not_exists", fe.Field())
|
||
return t
|
||
}); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterTranslation("regex", *app.Translator,
|
||
func(ut ut.Translator) error {
|
||
return ut.Add("regex", "{0} 格式不正确", true)
|
||
},
|
||
func(ut ut.Translator, fe validator.FieldError) string {
|
||
t, _ := ut.T("regex", fe.Field())
|
||
return t
|
||
}); err != nil {
|
||
return err
|
||
}
|
||
if err := v.RegisterTranslation("password", *app.Translator,
|
||
func(ut ut.Translator) error {
|
||
return ut.Add("password", "密码不满足要求(8-20位,至少包含字母、数字、特殊字符中的两种)", true)
|
||
},
|
||
func(ut ut.Translator, fe validator.FieldError) string {
|
||
t, _ := ut.T("password")
|
||
return t
|
||
}); err != nil {
|
||
return err
|
||
}
|
||
|
||
return nil
|
||
}
|