package utils import ( "github.com/go-playground/validator/v10" "github.com/yusing/go-proxy/internal/gperr" ) var validate = validator.New() var ErrValidationError = gperr.New("validation error") func Validate(v any) gperr.Error { err := validate.Struct(v) if err != nil { return ErrValidationError.With(err) } return nil } type CustomValidator interface { Validate() gperr.Error } func MustRegisterValidation(tag string, fn validator.Func) { err := validate.RegisterValidation(tag, fn) if err != nil { panic(err) } }