增加定时任务 处理异常
This commit is contained in:
57
request/validator/validator.go
Normal file
57
request/validator/validator.go
Normal file
@@ -0,0 +1,57 @@
|
||||
package validator
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"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"
|
||||
zhTranslations "github.com/go-playground/validator/v10/translations/zh"
|
||||
"os"
|
||||
"reflect"
|
||||
"regexp"
|
||||
"strings"
|
||||
)
|
||||
|
||||
// 定义一个全局翻译器T
|
||||
|
||||
var Trans ut.Translator
|
||||
var Validate *validator.Validate
|
||||
|
||||
// InitTrans 初始化翻译器
|
||||
func InitTrans(locale ...string) {
|
||||
if len(locale) == 0 {
|
||||
locale = []string{"zh"}
|
||||
}
|
||||
|
||||
var ok bool
|
||||
if Validate, ok = binding.Validator.Engine().(*validator.Validate); ok {
|
||||
Validate.RegisterTagNameFunc(func(fld reflect.StructField) string {
|
||||
name := strings.SplitN(fld.Tag.Get("json"), ",", 2)[0]
|
||||
if name == "-" || name == "_" {
|
||||
return ""
|
||||
}
|
||||
return name
|
||||
})
|
||||
uni := ut.New(en.New(), zh.New())
|
||||
Trans, _ = uni.FindTranslator(locale[0])
|
||||
err := zhTranslations.RegisterDefaultTranslations(Validate, Trans)
|
||||
|
||||
Validate.RegisterValidation("mobile", func(fl validator.FieldLevel) bool {
|
||||
regRuler := "^1[3456789]{1}\\d{9}$"
|
||||
reg := regexp.MustCompile(regRuler)
|
||||
return reg.MatchString(fl.Field().String())
|
||||
})
|
||||
Validate.RegisterTranslation("mobile", Trans, func(ut ut.Translator) error {
|
||||
return ut.Add("mobile", "手机号错误!", true)
|
||||
}, func(ut ut.Translator, fe validator.FieldError) string {
|
||||
t, _ := ut.T("mobile", fe.Field())
|
||||
return t
|
||||
})
|
||||
if err != nil {
|
||||
fmt.Printf("[-]自定义gin验证器失败: %s \n", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user