Sha256: f7c0440ced613c02870fea5c3f921b5e6f891731d24f6b20f23e349d62972ddb

Contents?: true

Size: 424 Bytes

Versions: 13

Compression:

Stored size: 424 Bytes

Contents

require 'mail'
module ActiveModel
  module Validations
    class EmailValidator < EachValidator
      def validate_each(record,attribute,value)
        begin
          address = Mail::Address.new(value)
          valid = address.domain && value.include?(address.address)
        rescue Mail::Field::ParseError
          valid = false
        end
        record.errors.add(attribute) unless valid
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
activevalidators-1.8.1 lib/active_model/validations/email_validator.rb
activevalidators-1.8.0 lib/active_model/validations/email_validator.rb
activevalidators-1.7.1 lib/active_model/validations/email_validator.rb
activevalidators-1.7.0 lib/active_model/validations/email_validator.rb
activevalidators-1.6.0 lib/active_model/validations/email_validator.rb
activevalidators-1.5.1 lib/active_model/validations/email_validator.rb
activevalidators-1.5.0 lib/active_model/validations/email_validator.rb
activevalidators-1.4.0 lib/active_model/validations/email_validator.rb
activevalidators-1.3.0 lib/active_model/validations/email_validator.rb
activevalidators-1.2.4 lib/active_model/validations/email_validator.rb
activevalidators-1.2.3 lib/active_model/validations/email_validator.rb
activevalidators-1.2.2 lib/active_model/validations/email_validator.rb
activevalidators-1.2.1 lib/active_model/validations/email_validator.rb