Class: Spree::EmailValidator

Inherits:
ActiveModel::EachValidator
  • Object
show all
Defined in:
lib/spree/core/validators/email.rb

Overview

An ActiveModel Email Validator

Usage

require 'spree/core/validators/email'

class Person < ApplicationRecord
  validates :email_address, 'spree/email' => true
end

Constant Summary collapse

EMAIL_REGEXP =
/\A([^@\.]|[^@\.]([^@\s]*)[^@\.])@([^@\s]+\.)+[^@\s]+\z/

Instance Method Summary collapse

Instance Method Details

#validate_each(record, attribute, value) ⇒ Object



17
18
19
20
21
# File 'lib/spree/core/validators/email.rb', line 17

def validate_each(record, attribute, value)
  unless EMAIL_REGEXP.match? value
    record.errors.add(attribute, :invalid, { value: value }.merge!(options))
  end
end