Sha256: 34f00cb61b9dc02ad18467f22acba5027d494435473b42a0942472140334b610
Contents?: true
Size: 714 Bytes
Versions: 1
Compression:
Stored size: 714 Bytes
Contents
require 'mail' module ActiveModel module Validations class EmailValidator < EachValidator EMAIL_REGEXP = %r{\A[a-zA-Z0-9.-]+\.[a-zA-Z]{2,4}\z} def validate_each(record,attribute,value) opts = options.dup opts[:strict] ||= false begin address = Mail::Address.new(value) valid = address.domain && value.include?(address.address) && ( !opts[:strict] || address.domain.match(EMAIL_REGEXP) ) rescue Mail::Field::ParseError valid = false end record.errors.add(attribute) unless valid end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
activevalidators-1.9.0 | lib/active_model/validations/email_validator.rb |