validation.go 641 B

1234567891011121314151617181920212223
  1. package validation
  2. import (
  3. "regexp"
  4. "github.com/go-playground/validator/v10"
  5. )
  6. // CheckYesOrNo - checks if a field on a struct is yes or no
  7. func CheckYesOrNo(fl validator.FieldLevel) bool {
  8. return fl.Field().String() == "yes" || fl.Field().String() == "no"
  9. }
  10. // CheckYesOrNoOrUnset - checks if a field is yes, no or unset
  11. func CheckYesOrNoOrUnset(fl validator.FieldLevel) bool {
  12. return CheckYesOrNo(fl) || fl.Field().String() == "unset"
  13. }
  14. // CheckRegex - check if a struct's field passes regex test
  15. func CheckRegex(fl validator.FieldLevel) bool {
  16. re := regexp.MustCompile(fl.Param())
  17. return re.MatchString(fl.Field().String())
  18. }