10 lines
300 B
Ruby
10 lines
300 B
Ruby
# frozen_string_literal: true
|
|
|
|
class EmailValidator < ActiveModel::EachValidator
|
|
def validate_each(record, attribute, value)
|
|
unless /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i.match?(value)
|
|
record.errors.add(attribute, message: options[:message] || "is not an email")
|
|
end
|
|
end
|
|
end
|