diff options
Diffstat (limited to 'activemodel/test/validators/email_validator.rb')
-rw-r--r-- | activemodel/test/validators/email_validator.rb | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/activemodel/test/validators/email_validator.rb b/activemodel/test/validators/email_validator.rb new file mode 100644 index 0000000000..0c634d8659 --- /dev/null +++ b/activemodel/test/validators/email_validator.rb @@ -0,0 +1,8 @@ +# frozen_string_literal: true + +class EmailValidator < ActiveModel::EachValidator + def validate_each(record, attribute, value) + record.errors[attribute] << (options[:message] || "is not an email") unless + /\A([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})\z/i.match?(value) + end +end |