Regex
class Athena::Validator::Constraints::Regex
inherits Athena::Validator::Constraint
Validates that a value matches a regular expression.
The underlying value is converted to a string via #to_s
before being validated.
NOTE: As with most other constraints, nil
and empty strings are considered valid values, in order to allow the value to be optional.
If the value is required, consider combining this constraint with AVD::Constraints::NotBlank
.
Configuration
Required Arguments
pattern
Type: ::Regex
The ::Regex
pattern that the value should match.
Optional Arguments
match
Type: Bool
Default: true
If set to false
, validation will require the value does NOT match the pattern.
message
Type: String
Default: This value should match '{{ pattern }}'.
The message that will be shown if the value does not match the pattern.
Placeholders
The following placeholders can be used in this message:
{{ value }}
- The current (invalid) value.{{ pattern }}
- The regular expression pattern that the value should match.
groups
Type: Array(String) | String | Nil
Default: nil
The validation groups this constraint belongs to.
AVD::Constraint::DEFAULT_GROUP
is assumed if nil
.
payload
Type: Hash(String, String)?
Default: nil
Any arbitrary domain-specific data that should be stored with this constraint.
The payload is not used by Athena::Validator
, but its processing is completely up to you.
Constants
REGEX_FAILED_ERROR = "108987a0-2d81-44a0-b8d4-1c7ab8815343"
"108987a0-2d81-44a0-b8d4-1c7ab8815343"
Class methods
.new(pattern : ::Regex, match : Bool = true, message : String = "This value should match '{{ pattern }}'.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil)
(pattern : ::Regex, match : Bool = true, message : String = "This value should match '{{ pattern }}'.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil)
Methods
#match? : Bool
: Bool
#pattern : ::Regex
: ::Regex
#validated_by : AVD::ConstraintValidator.class
: AVD::ConstraintValidator.class
Returns the AVD::ConstraintValidator.class
that should handle validating self
.