diff --git a/app/models/user.rb b/app/models/user.rb index c06a907fe..1b7680182 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -69,7 +69,7 @@ class User < Principal validates_format_of :login, :with => /^[a-z0-9_\-@\.]*$/i validates_length_of :login, :maximum => 30 validates_length_of :firstname, :lastname, :maximum => 30 - validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_nil => true + validates_format_of :mail, :with => /^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i, :allow_blank => true validates_length_of :mail, :maximum => 60, :allow_nil => true validates_confirmation_of :password, :allow_nil => true validates_inclusion_of :mail_notification, :in => MAIL_NOTIFICATION_OPTIONS.collect(&:first), :allow_blank => true diff --git a/test/unit/user_test.rb b/test/unit/user_test.rb index 3848eab0f..0fbb7d0c9 100644 --- a/test/unit/user_test.rb +++ b/test/unit/user_test.rb @@ -41,6 +41,13 @@ class UserTest < ActiveSupport::TestCase u.mail = " foo@bar.com " assert_equal "foo@bar.com", u.mail end + + def test_mail_validation + u = User.new + u.mail = '' + assert !u.valid? + assert_equal I18n.translate('activerecord.errors.messages.blank'), u.errors.on(:mail) + end def test_create user = User.new(:firstname => "new", :lastname => "user", :mail => "newuser@somenet.foo")