diff --git a/lib/devise.rb b/lib/devise.rb index da4bb8e1..d05dba07 100644 --- a/lib/devise.rb +++ b/lib/devise.rb @@ -108,7 +108,7 @@ module Devise # an one (and only one) @ exists in the given string. This is mainly # to give user feedback and not to assert the e-mail validity. mattr_accessor :email_regexp - @@email_regexp = /\A[^@]+@[^@]+\z/ + @@email_regexp = /\A[^@]+@([^@\.]+\.)+[^@\.]+\z/ # Range validation for password length mattr_accessor :password_length diff --git a/test/models/validatable_test.rb b/test/models/validatable_test.rb index 668d25ba..1633917e 100644 --- a/test/models/validatable_test.rb +++ b/test/models/validatable_test.rb @@ -29,7 +29,7 @@ class ValidatableTest < ActiveSupport::TestCase assert user.invalid? assert_not_equal 'is invalid', user.errors[:email].join - %w{invalid_email_format 123 $$$ () ☃}.each do |email| + %w{invalid_email_format 123 $$$ () ☃ bla@bla.}.each do |email| user.email = email assert user.invalid?, 'should be invalid with email ' << email assert_equal 'is invalid', user.errors[:email].join