16 lines
371 B
Ruby
16 lines
371 B
Ruby
require 'mail'
|
|
|
|
module EmailValidatable
|
|
extend ActiveSupport::Concern
|
|
|
|
class EmailValidator < ActiveModel::EachValidator
|
|
def validate_each(record, attribute, value)
|
|
begin
|
|
a = Mail::Address.new(value)
|
|
rescue Mail::Field::ParseError
|
|
record.errors[attribute] << (options[:message] || "is not a valid address")
|
|
end
|
|
end
|
|
end
|
|
end
|