Sha256: b3c1dfda3d8900521d0cadfff0d1b45c430dcfe9a4ffc27fa07b8c976e65fd02

Contents?: true

Size: 594 Bytes

Versions: 21

Compression:

Stored size: 594 Bytes

Contents

# frozen_string_literal: true

module Spree
  # == An ActiveModel Email Validator
  #
  # === Usage
  #
  #     require 'spree/core/validators/email'
  #
  #     class Person < ApplicationRecord
  #       validates :email_address, 'spree/email' => true
  #     end
  #
  class EmailValidator < ActiveModel::EachValidator
    EMAIL_REGEXP = /\A([^@\.]|[^@\.]([^@\s]*)[^@\.])@([^@\s]+\.)+[^@\s]+\z/

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

Version data entries

21 entries across 21 versions & 1 rubygems

Version Path
solidus_core-2.11.12 lib/spree/core/validators/email.rb
solidus_core-2.11.11 lib/spree/core/validators/email.rb
solidus_core-2.10.5 lib/spree/core/validators/email.rb
solidus_core-2.11.10 lib/spree/core/validators/email.rb
solidus_core-3.0.1 lib/spree/core/validators/email.rb
solidus_core-3.0.0 lib/spree/core/validators/email.rb
solidus_core-2.11.9 lib/spree/core/validators/email.rb
solidus_core-2.11.8 lib/spree/core/validators/email.rb
solidus_core-2.11.7 lib/spree/core/validators/email.rb
solidus_core-2.11.6 lib/spree/core/validators/email.rb
solidus_core-3.0.0.rc2 lib/spree/core/validators/email.rb
solidus_core-2.11.5 lib/spree/core/validators/email.rb
solidus_core-2.11.4 lib/spree/core/validators/email.rb
solidus_core-2.11.3 lib/spree/core/validators/email.rb
solidus_core-2.11.2 lib/spree/core/validators/email.rb
solidus_core-2.11.1 lib/spree/core/validators/email.rb
solidus_core-2.10.3 lib/spree/core/validators/email.rb
solidus_core-2.11.0 lib/spree/core/validators/email.rb
solidus_core-2.10.2 lib/spree/core/validators/email.rb
solidus_core-2.10.1 lib/spree/core/validators/email.rb