length.go 693 B

123456789101112131415161718192021222324252627
  1. package validate
  2. // Validation error.
  3. var (
  4. ErrMustBeLonger = NewError("must contain at least %d characters")
  5. ErrMustBeShorter = NewError("must contain no more than %d characters")
  6. )
  7. // MaxLength validates the length of a string as being less than or equal to a given maximum.
  8. func MaxLength(l int) func(string) error {
  9. return func(value string) error {
  10. if len(value) > l {
  11. return ErrMustBeShorter.With(l)
  12. }
  13. return nil
  14. }
  15. }
  16. // MinLength validates the length of a string as being greater than or equal to a given minimum.
  17. func MinLength(l int) func(string) error {
  18. return func(value string) error {
  19. if len(value) < l {
  20. return ErrMustBeLonger.With(l)
  21. }
  22. return nil
  23. }
  24. }