Documentation ¶
Index ¶
- Constants
- func And(fns ...validator.Func) validator.Func
- func DateTimeValidator(layout string) validator.Func
- func DefaultRegistrationFunc(tag string, translation string, override bool) validator.RegisterTranslationsFunc
- func DefaultTranslateFunc() validator.TranslationFunc
- func EqualValidator(p interface{}) validator.Func
- func FlattenValidationErrors(err validator.ValidationErrors, useNamespace bool) map[string]string
- func GreaterThenOrEqualValidator(p interface{}) validator.Func
- func GreaterThenValidator(p interface{}) validator.Func
- func IsRequiredError(err error) bool
- func IsValidationError(err error) bool
- func LenValidator(p interface{}) validator.Func
- func LengthInRangeValidator(min, max interface{}) validator.Func
- func LengthOutOfRangeValidator(min, max interface{}) validator.Func
- func LessThenOrEqualValidator(p interface{}) validator.Func
- func LessThenValidator(p interface{}) validator.Func
- func MergeMapToError(result map[string]string) error
- func Not(fn validator.Func) validator.Func
- func NotEqualValidator(p interface{}) validator.Func
- func OneofValidator(ps ...interface{}) validator.Func
- func Or(fns ...validator.Func) validator.Func
- func ParamRegexpValidator() validator.Func
- func RegexpValidator(re *regexp.Regexp) validator.Func
- func TranslateValidationErrors(err validator.ValidationErrors, ut UtTranslator, useNamespace bool) map[string]string
- func UseTagAsFieldName(v *validator.Validate, tagName ...string)
- type LocaleTranslator
- func EnLocaleTranslator() LocaleTranslator
- func EsLocaleTranslator() LocaleTranslator
- func FrLocaleTranslator() LocaleTranslator
- func IdLocaleTranslator() LocaleTranslator
- func ItLocaleTranslator() LocaleTranslator
- func JaLocaleTranslator() LocaleTranslator
- func NlLocaleTranslator() LocaleTranslator
- func PtBrLocaleTranslator() LocaleTranslator
- func PtLocaleTranslator() LocaleTranslator
- func RuLocaleTranslator() LocaleTranslator
- func TrLocaleTranslator() LocaleTranslator
- func ViLocaleTranslator() LocaleTranslator
- func ZhHantLocaleTranslator() LocaleTranslator
- func ZhLocaleTranslator() LocaleTranslator
- type MessagedValidator
- func (m *MessagedValidator) Engine() interface{}
- func (m *MessagedValidator) SetMessageTagName(name string)
- func (m *MessagedValidator) SetValidateTagName(name string)
- func (m *MessagedValidator) UseTagAsFieldName(name ...string)
- func (m *MessagedValidator) ValidateEngine() *validator.Validate
- func (m *MessagedValidator) ValidateStruct(obj interface{}) error
- type MessagedValidatorOption
- type MultiFieldsError
- func (m *MultiFieldsError) As(target interface{}) bool
- func (m *MultiFieldsError) Error() string
- func (m *MultiFieldsError) Errors() []error
- func (m *MultiFieldsError) Flatten(useNamespace bool) map[string]string
- func (m *MultiFieldsError) Is(target error) bool
- func (m *MultiFieldsError) Translate(ut UtTranslator, useNamespace bool) map[string]string
- type TranslationRegisterHandler
- func EnTranslationRegisterFunc() TranslationRegisterHandler
- func EsTranslationRegisterFunc() TranslationRegisterHandler
- func FrTranslationRegisterFunc() TranslationRegisterHandler
- func IdTranslationRegisterFunc() TranslationRegisterHandler
- func ItTranslationRegisterFunc() TranslationRegisterHandler
- func JaTranslationRegisterFunc() TranslationRegisterHandler
- func NlTranslationRegisterFunc() TranslationRegisterHandler
- func PtBrTranslationRegisterFunc() TranslationRegisterHandler
- func PtTranslationRegisterFunc() TranslationRegisterHandler
- func RuTranslationRegisterFunc() TranslationRegisterHandler
- func TrTranslationRegisterFunc() TranslationRegisterHandler
- func ViTranslationRegisterFunc() TranslationRegisterHandler
- func ZhHantTranslationRegisterFunc() TranslationRegisterHandler
- func ZhTranslationRegisterFunc() TranslationRegisterHandler
- type UtTranslator
- type WrappedFieldError
Constants ¶
const ( // NAME represents ahlib-mx package's name. NAME = "ahlib-mx/xvalidator" // VERSION represents ahlib-mx package's current version. VERSION = "1.6.0" )
Variables ¶
This section is empty.
Functions ¶
func And ¶
func And(fns ...validator.Func) validator.Func
And represents the intersection of multiple validators, just like ',' in validator tag.
func DateTimeValidator ¶
func DateTimeValidator(layout string) validator.Func
DateTimeValidator represents datetime validator using given layout.
func DefaultRegistrationFunc ¶
func DefaultRegistrationFunc(tag string, translation string, override bool) validator.RegisterTranslationsFunc
DefaultRegistrationFunc returns a validator.RegisterTranslationsFunc function, it uses given tag, translation and override flag to register normal translation information for a UtTranslator, {#} is the only replacement type accepted and will be set by validator.TranslationFunc.
This function can be used for validator.Validate RegisterTranslation() method's second parameter translationFn, also see ApplyTranslator.
func DefaultTranslateFunc ¶
func DefaultTranslateFunc() validator.TranslationFunc
DefaultTranslateFunc returns a validator.TranslationFunc function, it uses the struct field name as {0} and the validator tag param as {1} from validator.FieldError's methods to create the translation for given tag. Note that if the tag is not found, it will log a warning message.
This function can be used for validator.Validate RegisterTranslation() method's third parameter registerFn, also see ApplyTranslator.
func EqualValidator ¶
func EqualValidator(p interface{}) validator.Func
EqualValidator represents `eq` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Equals. For strings & numbers, eq will ensure that the value is equal to the parameter given. For slices, arrays, and maps, validates the number of items.
func FlattenValidationErrors ¶
FlattenValidationErrors flattens all the validator.FieldError in validator.ValidationErrors to a field-message map without using UtTranslator. Here values from returned map come from the error message directly. Also see TranslateValidationErrors for more.
Example:
type Struct struct { Int int `validate:"required"` Str string `validate:"required"` } val := validator.New() // ... err := val.Struct(&Struct{}).(validator.ValidationErrors) FlattenValidationErrors(err, true) // => {Struct.int: Field validation for 'int' failed on the 'required' tag, Struct.str: Field validation for 'str' failed on the 'required' tag} FlattenValidationErrors(err, false) // => {int: Field validation for 'int' failed on the 'required' tag, str: Field validation for 'str' failed on the 'required' tag}
func GreaterThenOrEqualValidator ¶
func GreaterThenOrEqualValidator(p interface{}) validator.Func
GreaterThenOrEqualValidator represents `gte` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Greater_Than_or_Equal. For numbers, gte will ensure that the value is greater or equal to the parameter given. For strings, it checks that the string length is at least that number of characters. For slices, arrays, and maps, validates the number of items.
func GreaterThenValidator ¶
func GreaterThenValidator(p interface{}) validator.Func
GreaterThenValidator represents `gt` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Greater_Than. For numbers, this will ensure that the value is greater than the parameter given. For strings, it checks that the string length is greater than that number of characters. For slices, arrays and maps it validates the number of items.
func IsRequiredError ¶
IsRequiredError returns true if the error is validator.ValidationErrors which contains "required" tag.
func IsValidationError ¶
IsValidationError returns true if the error is validator.ValidationErrors.
func LenValidator ¶
func LenValidator(p interface{}) validator.Func
LenValidator represents `len` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Length. For numbers, length will ensure that the value is equal to the parameter given. For strings, it checks that the string length is exactly that number of characters. For slices, arrays, and maps, validates the number of items.
func LengthInRangeValidator ¶
func LengthInRangeValidator(min, max interface{}) validator.Func
LengthInRangeValidator represents `min,max` validator tag, equals to combine GreaterThenOrEqualValidator and LessThenOrEqualValidator with And.
func LengthOutOfRangeValidator ¶
func LengthOutOfRangeValidator(min, max interface{}) validator.Func
LengthOutOfRangeValidator represents `min|max` validator tag, equals to combine GreaterThenOrEqualValidator and LessThenOrEqualValidator with Or.
func LessThenOrEqualValidator ¶
func LessThenOrEqualValidator(p interface{}) validator.Func
LessThenOrEqualValidator represents `lte` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Less_Than_or_Equal. For numbers, lte will ensure that the value is less than or equal to the parameter given. For strings, it checks that the string length is at most that number of characters. For slices, arrays, and maps, validates the number of items.
func LessThenValidator ¶
func LessThenValidator(p interface{}) validator.Func
LessThenValidator represents `lt` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Less_Than. For numbers, this will ensure that the value is less than the parameter given. For strings, it checks that the string length is less than that number of characters. For slices, arrays, and maps it validates the number of items.
func MergeMapToError ¶
MergeMapToError generates a single error from given map generated by translating (TranslateValidationErrors) or flattening (FlattenValidationErrors), to represent the translated or flattened error from validator.ValidationErrors or xvalidator.MultiFieldsError.
func Not ¶
func Not(fn validator.Func) validator.Func
Not represents the inverse result of given validator.
func NotEqualValidator ¶
func NotEqualValidator(p interface{}) validator.Func
NotEqualValidator represents `ne` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Not_Equal. For strings & numbers, ne will ensure that the value is not equal to the parameter given. For slices, arrays, and maps, validates the number of items.
func OneofValidator ¶
func OneofValidator(ps ...interface{}) validator.Func
OneofValidator represents `oneof` validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-One_Of. For strings, ints, uints, and floats, oneof will ensure that the value is one of the values in the parameter.
func Or ¶
func Or(fns ...validator.Func) validator.Func
Or represents the union of multiple validators, just like '|' in validator tag. See https://godoc.org/github.com/go-playground/validator#hdr-Or_Operator.
func ParamRegexpValidator ¶
func ParamRegexpValidator() validator.Func
ParamRegexpValidator represents parameterized regexp validator, just like `regexp: xxx`. For more regexps, see xvalidator.regexps package and https://github.com/go-playground/validator/blob/v10.11.1/regexes.go.
func RegexpValidator ¶
RegexpValidator represents regexp validator using given regexp.
func TranslateValidationErrors ¶
func TranslateValidationErrors(err validator.ValidationErrors, ut UtTranslator, useNamespace bool) map[string]string
TranslateValidationErrors translates all validator.FieldError in validator.ValidationErrors using given UtTranslator to a field-message map. Note that if you set useNamespace to true, keys from returned map will be shown in "$struct.$field" format, the same as validator.ValidationErrors' Translate(), otherwise in "$field" format.
Example:
type Struct struct { Int int `validate:"required"` Str string `validate:"required"` } val := validator.New() // ... err := val.Struct(&Struct{}).(validator.ValidationErrors) TranslateValidationErrors(err, trans, true) // => {Struct.int: int is a required field, Struct.str: str is a required field} TranslateValidationErrors(err, trans, false) // => {int: int is a required field, str: str is a required field}
func UseTagAsFieldName ¶
func UseTagAsFieldName(v *validator.Validate, tagName ...string)
UseTagAsFieldName sets a specific struct tag as field's alternate name, this name will be used in validator.FieldError's Namespace() and Field() methods, and will change the error string and translated result. You can pass more than one tagName, and it will use the current tagName if it exists and is valid.
Note: the origin field name will be returned by StructField() and StructNamespace() methods; 2. you can pass empty tagName to remove this alternate name.
Attention: please use this function before all validate methods, because any validation method will change the validator's structCache, even if you remove alternate name by `UseTagAsFieldName(v, "")`, structCache will be not cleared.
Example:
v := validator.New() xvalidator.UseTagAsFieldName(v, "json", "yaml") // xvalidator.UseTagAsFieldName(v) // remove field's alternate name type Typ struct { Str string `validate:"required,gt=2,lte=10" json:"sss"` } errs := v.Struct(&s{"01234567890"}).(validator.ValidationErrors) // errs[0].Field() => sss (alternate name) // errs[0].Namespace() => Typ.sss (alternate name with struct typename) // errs[0].StructField() => Str (origin field name) // errs[0].StructNamespace() => Typ.Str (origin field name with struct typename) // errs[0].Error() => Key: 'Typ.sss' Error:Field validation for 'sss' failed on the 'lte' tag // |-------| |---| |---| // Namespace Field Tag
Types ¶
type LocaleTranslator ¶
type LocaleTranslator = locales.Translator
LocaleTranslator represents an alias type of locales.Translator interface, which will be used in ApplyTranslator. These kinds of values can be got from xvalidator.EnLocaleTranslator, xvalidator.ZhLocaleTranslator and so on.
func EnLocaleTranslator ¶
func EnLocaleTranslator() LocaleTranslator
EnLocaleTranslator is a LocaleTranslator generated by en.New() from github.com/go-playground/locales/en.
func EsLocaleTranslator ¶
func EsLocaleTranslator() LocaleTranslator
EsLocaleTranslator is a LocaleTranslator generated by es.New() from github.com/go-playground/locales/es.
func FrLocaleTranslator ¶
func FrLocaleTranslator() LocaleTranslator
FrLocaleTranslator is a LocaleTranslator generated by fr.New() from github.com/go-playground/locales/fr.
func IdLocaleTranslator ¶
func IdLocaleTranslator() LocaleTranslator
IdLocaleTranslator is a LocaleTranslator generated by id.New() from github.com/go-playground/locales/id.
func ItLocaleTranslator ¶
func ItLocaleTranslator() LocaleTranslator
ItLocaleTranslator is a LocaleTranslator generated by it.New() from github.com/go-playground/locales/it.
func JaLocaleTranslator ¶
func JaLocaleTranslator() LocaleTranslator
JaLocaleTranslator is a LocaleTranslator generated by ja.New() from github.com/go-playground/locales/ja.
func NlLocaleTranslator ¶
func NlLocaleTranslator() LocaleTranslator
NlLocaleTranslator is a LocaleTranslator generated by nl.New() from github.com/go-playground/locales/nl.
func PtBrLocaleTranslator ¶
func PtBrLocaleTranslator() LocaleTranslator
PtBrLocaleTranslator is a LocaleTranslator generated by pt_BR.New() from github.com/go-playground/locales/pt_BR.
func PtLocaleTranslator ¶
func PtLocaleTranslator() LocaleTranslator
PtLocaleTranslator is a LocaleTranslator generated by pt.New() from github.com/go-playground/locales/pt.
func RuLocaleTranslator ¶
func RuLocaleTranslator() LocaleTranslator
RuLocaleTranslator is a LocaleTranslator generated by ru.New() from github.com/go-playground/locales/ru.
func TrLocaleTranslator ¶
func TrLocaleTranslator() LocaleTranslator
TrLocaleTranslator is a LocaleTranslator generated by tr.New() from github.com/go-playground/locales/tr.
func ViLocaleTranslator ¶
func ViLocaleTranslator() LocaleTranslator
ViLocaleTranslator is a LocaleTranslator generated by vi.New() from github.com/go-playground/locales/vi.
func ZhHantLocaleTranslator ¶
func ZhHantLocaleTranslator() LocaleTranslator
ZhHantLocaleTranslator is a LocaleTranslator generated by zh_Hant.New() from github.com/go-playground/locales/zh_Hant.
func ZhLocaleTranslator ¶
func ZhLocaleTranslator() LocaleTranslator
ZhLocaleTranslator is a LocaleTranslator generated by zh.New() from github.com/go-playground/locales/zh.
type MessagedValidator ¶
type MessagedValidator struct {
// contains filtered or unexported fields
}
MessagedValidator represents a messaged validator.Validate, which allows some fields to specify their custom error message, and you can set this to gin's binding.Validator as a binding.StructValidator.
Struct example:
type User struct { Id uint64 `json:"id" form:"id" validate:"required,gt=1" validate_message:"required|id is required|gt|id must larger than one"` Name string `json:"name" form:"name" validate:"required,gt=4,lt=20" validate_message:"*|name is invalid"` Bio *string `json:"bio" form:"bio" validate:"required,gte=0,lte=255" validate_message:"..."` }
func NewMessagedValidator ¶
func NewMessagedValidator(options ...MessagedValidatorOption) *MessagedValidator
NewMessagedValidator creates a new NewMessagedValidator, with `validate` validator tag name and `validate_message` message tag name.
func (*MessagedValidator) Engine ¶
func (m *MessagedValidator) Engine() interface{}
Engine returns the internal validator.Validate from MessagedValidator, and this implements binding.StructValidator interface.
func (*MessagedValidator) SetMessageTagName ¶
func (m *MessagedValidator) SetMessageTagName(name string)
SetMessageTagName sets message tag name for MessagedValidator, defaults to `validate_message`.
func (*MessagedValidator) SetValidateTagName ¶
func (m *MessagedValidator) SetValidateTagName(name string)
SetValidateTagName sets validate tag name for MessagedValidator, defaults to `validate`.
func (*MessagedValidator) UseTagAsFieldName ¶
func (m *MessagedValidator) UseTagAsFieldName(name ...string)
UseTagAsFieldName sets a specific struct tag as field's alternate name, see UseTagAsFieldName for more details.
func (*MessagedValidator) ValidateEngine ¶
func (m *MessagedValidator) ValidateEngine() *validator.Validate
ValidateEngine returns the internal validator.Validate from MessagedValidator.
func (*MessagedValidator) ValidateStruct ¶
func (m *MessagedValidator) ValidateStruct(obj interface{}) error
ValidateStruct validates given struct (and pointer of struct) and returns the validation error, mostly in xvalidator.MultiFieldsError type, and this implements binding.StructValidator interface.
type MessagedValidatorOption ¶
type MessagedValidatorOption func(o *messagedValidatorOptions)
MessagedValidatorOption represents an option type for NewMessagedValidator's option, can be created by WithXXX functions.
func WithMessageTagName ¶
func WithMessageTagName(name string) MessagedValidatorOption
WithMessageTagName creates a MessagedValidatorOption to specify default validate message tag name, defaults to "validate_message".
func WithValidateTagName ¶
func WithValidateTagName(name string) MessagedValidatorOption
WithValidateTagName creates a MessagedValidatorOption to specify default validate tag name, defaults to "validate".
type MultiFieldsError ¶
type MultiFieldsError struct {
// contains filtered or unexported fields
}
MultiFieldsError represents the multiple fields' error in validation that contains errors in validator.FieldError or xvalidator.WrappedFieldError type, will be returned by MessagedValidator.ValidateStruct.
func (*MultiFieldsError) As ¶
func (m *MultiFieldsError) As(target interface{}) bool
As implements xerror.Assigner interface.
func (*MultiFieldsError) Error ¶
func (m *MultiFieldsError) Error() string
Error returns the formatted error message (split by "; ") from MultiFieldsError.
func (*MultiFieldsError) Errors ¶
func (m *MultiFieldsError) Errors() []error
Errors returns the fields' errors from MultiFieldsError, and this implements xerror.MultiError interface.
func (*MultiFieldsError) Flatten ¶
func (m *MultiFieldsError) Flatten(useNamespace bool) map[string]string
Flatten flattens all the field errors (include validator.FieldError and xvalidator.WrappedFieldError) to a field-message map without using UtTranslator. Here values from returned map come from the error message directly. Also see MultiFieldsError.Translate for more.
Example:
type Struct struct { Int int `validate:"required"` Str string `validate:"required" message:"required|str cannot be null and empty"` } val := NewMessagedValidator() // ... err := validator.ValidateStruct(&Struct{}).(xvalidator.MultiFieldsError) err.Flatten(true) // => {Struct.int: Field validation for 'int' failed on the 'required' tag, Struct.str: str cannot be null and empty} err.Flatten(false) // => {int: Field validation for 'int' failed on the 'required' tag, str: str cannot be null and empty}
func (*MultiFieldsError) Is ¶
func (m *MultiFieldsError) Is(target error) bool
Is implements xerror.Matcher interface.
func (*MultiFieldsError) Translate ¶
func (m *MultiFieldsError) Translate(ut UtTranslator, useNamespace bool) map[string]string
Translate translates all the field errors (include validator.FieldError and xvalidator.WrappedFieldError) using given UtTranslator to a field-message map, and here errors in xvalidator.WrappedFieldError type will use wrapped message directly. Note that if you set useNamespace to true, keys from returned map will be shown in "$struct.$field" format, otherwise in "$field" format.
Example:
type Struct struct { Int int `validate:"required"` Str string `validate:"required" message:"required|str cannot be null and empty"` } val := NewMessagedValidator() // ... err := val.ValidateStruct(&Struct{}).(xvalidator.MultiFieldsError) err.Translate(trans, true) // => {Struct.int: int is a required field, Struct.str: str cannot be null and empty} err.Translate(trans, false) // => {int: int is a required field, str: str cannot be null and empty}
type TranslationRegisterHandler ¶
type TranslationRegisterHandler func(v *validator.Validate, translator UtTranslator) error
TranslationRegisterHandler represents a translation register function, which will be used in ApplyTranslator. These kinds of values can be got from xvalidator.EnTranslationRegisterFunc, xvalidator.ZhTranslationRegisterFunc and so on.
func EnTranslationRegisterFunc ¶
func EnTranslationRegisterFunc() TranslationRegisterHandler
EnTranslationRegisterFunc is a TranslationRegisterHandler generated by en.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/en.
func EsTranslationRegisterFunc ¶
func EsTranslationRegisterFunc() TranslationRegisterHandler
EsTranslationRegisterFunc is a TranslationRegisterHandler generated by es.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/es.
func FrTranslationRegisterFunc ¶
func FrTranslationRegisterFunc() TranslationRegisterHandler
FrTranslationRegisterFunc is a TranslationRegisterHandler generated by fr.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/fr.
func IdTranslationRegisterFunc ¶
func IdTranslationRegisterFunc() TranslationRegisterHandler
IdTranslationRegisterFunc is a TranslationRegisterHandler generated by id.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/id.
func ItTranslationRegisterFunc ¶
func ItTranslationRegisterFunc() TranslationRegisterHandler
ItTranslationRegisterFunc is a TranslationRegisterHandler generated by it.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/it.
func JaTranslationRegisterFunc ¶
func JaTranslationRegisterFunc() TranslationRegisterHandler
JaTranslationRegisterFunc is a TranslationRegisterHandler generated by ja.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/ja.
func NlTranslationRegisterFunc ¶
func NlTranslationRegisterFunc() TranslationRegisterHandler
NlTranslationRegisterFunc is a TranslationRegisterHandler generated by nl.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/nl.
func PtBrTranslationRegisterFunc ¶
func PtBrTranslationRegisterFunc() TranslationRegisterHandler
PtBrTranslationRegisterFunc is a TranslationRegisterHandler generated by pt_BR.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/pt_BR.
func PtTranslationRegisterFunc ¶
func PtTranslationRegisterFunc() TranslationRegisterHandler
PtTranslationRegisterFunc is a TranslationRegisterHandler generated by pt.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/pt.
func RuTranslationRegisterFunc ¶
func RuTranslationRegisterFunc() TranslationRegisterHandler
RuTranslationRegisterFunc is a TranslationRegisterHandler generated by ru.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translation/ru.
func TrTranslationRegisterFunc ¶
func TrTranslationRegisterFunc() TranslationRegisterHandler
TrTranslationRegisterFunc is a TranslationRegisterHandler generated by tr.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/tr.
func ViTranslationRegisterFunc ¶
func ViTranslationRegisterFunc() TranslationRegisterHandler
ViTranslationRegisterFunc is a TranslationRegisterHandler generated by vi.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/vi.
func ZhHantTranslationRegisterFunc ¶
func ZhHantTranslationRegisterFunc() TranslationRegisterHandler
ZhHantTranslationRegisterFunc is a TranslationRegisterHandler generated by zh_tw.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/zh_tw.
func ZhTranslationRegisterFunc ¶
func ZhTranslationRegisterFunc() TranslationRegisterHandler
ZhTranslationRegisterFunc is a TranslationRegisterHandler generated by zh.RegisterDefaultTranslations from github.com/go-playground/validator/v10/translations/zh.
type UtTranslator ¶
type UtTranslator = ut.Translator
UtTranslator represents an alias type of ut.Translator interface, and this is the translator of validator.Validate.
func ApplyEnglishTranslator ¶
func ApplyEnglishTranslator(validator *validator.Validate) (UtTranslator, error)
ApplyEnglishTranslator applies English translator to validator.Validate, this is a simplified usage of ApplyTranslator(validator, xvalidator.EnLocaleTranslator(), xvalidator.EnTranslationRegisterFunc()), see ApplyTranslator for more information.
func ApplyTranslator ¶
func ApplyTranslator(validator *validator.Validate, locale LocaleTranslator, registerFn TranslationRegisterHandler) (UtTranslator, error)
ApplyTranslator applies translator to validator.Validate using given LocaleTranslator (locales.Translator) and TranslationRegisterHandler, this function will return a UtTranslator (ut.Translator, universal translator). Also see xvalidator.DefaultRegistrationFunc and xvalidator.DefaultTranslateFunc.
Example:
// apply default translation to validator translator := xvalidator.ApplyTranslator(validator, xvalidator.EnLocaleTranslator(), xvalidator.EnTranslationRegisterFunc()) // UtTranslator // register custom translation to validator regisFn := xvalidator.DefaultRegistrationFunc("tag", "{0} has {1}", false) // validator.RegisterTranslationsFunc transFn := xvalidator.DefaultTranslateFunc() // validator.TranslationFunc validator.RegisterTranslation("tag", translator, regisFn, transFn)
type WrappedFieldError ¶
type WrappedFieldError struct {
// contains filtered or unexported fields
}
WrappedFieldError represents a validator.FieldError wrapped with a custom message, will be used in MessagedValidator.
func (*WrappedFieldError) Error ¶
func (w *WrappedFieldError) Error() string
Error returns the formatted error message from WrappedFieldError, and this has the same format with validator.FieldError's Error().
func (*WrappedFieldError) Message ¶
func (w *WrappedFieldError) Message() string
Message returns the wrapped message from WrappedFieldError.
func (*WrappedFieldError) Origin ¶
func (w *WrappedFieldError) Origin() validator.FieldError
Origin returns the origin validator.FieldError from WrappedFieldError.
func (*WrappedFieldError) Unwrap ¶
func (w *WrappedFieldError) Unwrap() error
Unwrap returns the origin validator.FieldError from WrappedFieldError, and this implements the error wrapper interface.