package validate import ( "strings" ) var ( ErrMissingPrefix = NewError("must start with %q") ErrMissingSuffix = NewError("must end with %q") ErrMissingSubstring = NewError("must contain %q") ) // Prefix validates that a string begins with a given prefix. func Prefix(prefix string) func(string) error { return func(value string) error { if !strings.HasPrefix(value, prefix) { return ErrMissingPrefix.With(prefix) } return nil } } // Suffix validates that a string ends with a given suffix. func Suffix(suffix string) func(string) error { return func(value string) error { if !strings.HasSuffix(value, suffix) { return ErrMissingSuffix.With(suffix) } return nil } } // Contains validates that a string contains a given substring. func Contains(substr string) func(string) error { return func(value string) error { if !strings.Contains(value, substr) { return ErrMissingSubstring.With(substr) } return nil } }