clearcase/internal/http/form/match_regexp.go

28 lines
451 B
Go
Raw Normal View History

2025-02-21 18:42:56 +01:00
package form
import (
"regexp"
"github.com/pkg/errors"
)
func MatchRegExp(pattern string, message string) func(f *Field) error {
return func(f *Field) error {
value, err := FieldAttr[string](f, "value")
if err != nil {
return errors.WithStack(err)
}
matches, err := regexp.MatchString(pattern, value)
if err != nil {
return errors.WithStack(err)
}
if !matches {
return NewValidationError(message)
}
return nil
}
}