class Athena::Validator::Constraints::Regex


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.


Required Arguments


Type: ::Regex

The ::Regex pattern that the value should match.

Optional Arguments


Type: Bool Default: true

If set to false, validation will require the value does NOT match the pattern.


Type: String Default: This value should match '{{ pattern }}'.

The message that will be shown if the value does not match the pattern.


The following placeholders can be used in this message:


Type: Array(String) | String | Nil Default: nil

The validation groups this constraint belongs to. AVD::Constraint::DEFAULT_GROUP is assumed if nil.


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.

Defined in:


Constant Summary

REGEX_FAILED_ERROR = "108987a0-2d81-44a0-b8d4-1c7ab8815343"


Instance Method Summary

Instance methods inherited from class Athena::Validator::Constraint

add_implicit_group(group : String) : Nil add_implicit_group, groups : Array(String) groups, groups=(groups : Array(String)) groups=, message : String message, payload : Hash(String, String)? payload, validated_by : AVD::ConstraintValidator.class validated_by

Constructor methods inherited from class Athena::Validator::Constraint

new(message : String, groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil) new

Class methods inherited from class Athena::Validator::Constraint

error_name(error_code : String) : String error_name

Constructor Detail

def : ::Regex, match : Bool = true, message : String = "This value should match '{{ pattern }}'.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil) #

[View source]

Instance Method Detail

def match? : Bool #

[View source]
def pattern : ::Regex #

[View source]
def validated_by : AVD::ConstraintValidator.class #

Returns the AVD::ConstraintValidator.class that should handle validating self.

[View source]