Skip to content

class Athena::Validator::Constraints::Email
inherits Athena::Validator::Constraint #

Validates that a value is a valid email address. The underlying value is converted to a string via #to_s before being validated.


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.


Optional Arguments#


Type: AVD::Constraints::Email::Mode Default: AVD::Constraints::Email::Mode::Loose

Defines the pattern that should be used to validate the email address.


Type: String Default: This value is not a valid email address.

The message that will be shown if the value is not a valid email address.


The following placeholders can be used in this message:

  • {{ value }} - The current (invalid) value.

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.


INVALID_FORMAT_ERROR = "ad9d877d-9ad1-4dd7-b77b-e419934e5910" #

Class methods#

.new(mode : AVD::Constraints::Email::Mode = :loose, message : String = "This value is not a valid email address.", groups : Array(String) | String | Nil = nil, payload : Hash(String, String)? = nil) #

View source


#validated_by : AVD::ConstraintValidator.class #

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

View source