Sha256: 1972cf177cd42f1d36025ee89439f4834d52c82f2197d02a27fe1921b370cec0

Contents?: true

Size: 609 Bytes

Versions: 1

Compression:

Stored size: 609 Bytes

Contents

require 'localized_each_validator'

# Validates email addresses. Uses the @invalid_email@ error message key.
#
# @example
#   validates :email_address, email: true
#
# h2. Options
#
# | @:message@ | A custom message to use if the email is invalid. |
# | @:allow_nil@ | If true, @nil@ values are allowed. |

class EmailValidator < LocalizedEachValidator
  # Regular expression describing valid emails
  EMAIL_REGEX = "[A-Z0-9._%+-]+@[A-Z0-9.-]+\\.[A-Z]{2,}"
  
  error_key :invalid_email

  # @private
  def valid?(_, _, value)
    value =~ /^#{EMAIL_REGEX}$/i || value =~ /^.+\s+<#{EMAIL_REGEX}>$/i
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
email_validation-1.1.1 lib/email_validation.rb