wpw-final/internal/vdext/validator.go
2022-12-02 20:40:23 +07:00

31 lines
662 B
Go

package vdext
import (
"github.com/go-playground/locales"
"github.com/go-playground/locales/en"
uts "github.com/go-playground/universal-translator"
"github.com/go-playground/validator/v10"
en_translations "github.com/go-playground/validator/v10/translations/en"
)
var (
languages = []locales.Translator{
en.New(),
}
uni = initI8n()
)
func initI8n() *uts.UniversalTranslator {
return uts.New(languages[0], languages[1:]...)
}
func New(tagName string) *validator.Validate {
vd := validator.New()
if trans, found := uni.GetTranslator("en"); found {
en_translations.RegisterDefaultTranslations(vd, trans)
}
vd.SetTagName(tagName)
return vd
}