Files
mam-contract/internal/utils/validator/validator.go
Jeffrey Duroyon 33db360b03 init
2023-10-18 19:52:34 +02:00

29 lines
539 B
Go

package validator
import (
"github.com/kratisto/mam-contract/internal/storage/validators"
"gopkg.in/go-playground/validator.v9"
"reflect"
"strings"
)
func newValidator() *validator.Validate {
va := validator.New()
va.RegisterTagNameFunc(func(fld reflect.StructField) string {
name := strings.SplitN(fld.Tag.Get("json"), ",", 2)
if len(name) < 1 {
return ""
}
return name[0]
})
for k, v := range validators.CustomValidators {
if v.Validator != nil {
va.RegisterValidationCtx(k, v.Validator)
}
}
return va
}