diff --git a/activemodel/lib/active_model/locale/en.yml b/activemodel/lib/active_model/locale/en.yml index 44425b4a28df14007dc20fedfe7a5ab5a4e77712..c370a1f33ee5d91d86b2c620393498f2196a5890 100644 --- a/activemodel/lib/active_model/locale/en.yml +++ b/activemodel/lib/active_model/locale/en.yml @@ -25,3 +25,7 @@ en: less_than_or_equal_to: "must be less than or equal to %{count}" odd: "must be odd" even: "must be even" + + attributes: + password: + unsecure: "is too weak and common" diff --git a/activemodel/lib/active_model/secure_password.rb b/activemodel/lib/active_model/secure_password.rb index cd6256e3d612863669ff5101d367773a9b38d97d..cd997a61db8e9a5115a874013abd7581d861401c 100644 --- a/activemodel/lib/active_model/secure_password.rb +++ b/activemodel/lib/active_model/secure_password.rb @@ -63,8 +63,8 @@ def password=(unencrypted_password) def password_must_be_strong if password.present? - errors.add(:password, "must be longer than 6 characters") unless password.size > 6 - errors.add(:password, "is too weak and common") if WEAK_PASSWORDS.include?(password) + errors.add(:password, :too_short, :count => 7) unless password.size > 6 + errors.add(:password, :unsecure) if WEAK_PASSWORDS.include?(password) end end end diff --git a/activemodel/test/cases/secure_password_test.rb b/activemodel/test/cases/secure_password_test.rb index c46a092d2d91e16b350541b22e9a7db74f4452d5..e75bfca02a302801f9678b27ef793dccbe4141b7 100644 --- a/activemodel/test/cases/secure_password_test.rb +++ b/activemodel/test/cases/secure_password_test.rb @@ -36,7 +36,7 @@ class SecurePasswordTest < ActiveModel::TestCase test "too weak passwords" do @user.password = "012345" assert !@user.valid? - assert_equal ["must be longer than 6 characters"], @user.errors[:password] + assert_equal ["is too short (minimum is 7 characters)"], @user.errors[:password] @user.password = "password" assert !@user.valid?