Permalink
Browse files

Fixed #7833 -- Improved UserCreationForm password validation

Make UserCreationForm password validation similar to
SetPasswordForm and AdminPasswordChangeForm, so as the match
check is only done when both passwords are supplied.
Thanks Mitar for the suggestion.
  • Loading branch information...
1 parent 121fd10 commit 09a719a4e6820d462fc796606cb242583ad4e79d @claudep claudep committed Aug 4, 2012
Showing with 4 additions and 3 deletions.
  1. +3 −3 django/contrib/auth/forms.py
  2. +1 −0 django/contrib/auth/tests/forms.py
@@ -89,9 +89,9 @@ def clean_username(self):
raise forms.ValidationError(self.error_messages['duplicate_username'])
def clean_password2(self):
- password1 = self.cleaned_data.get("password1", "")
- password2 = self.cleaned_data["password2"]
- if password1 != password2:
+ password1 = self.cleaned_data.get("password1")
+ password2 = self.cleaned_data.get("password2")
+ if password1 and password2 and password1 != password2:
raise forms.ValidationError(
self.error_messages['password_mismatch'])
return password2
@@ -65,6 +65,7 @@ def test_both_passwords(self):
form = UserCreationForm(data)
self.assertFalse(form.is_valid())
self.assertEqual(form['password1'].errors, required_error)
+ self.assertEqual(form['password2'].errors, [])
def test_success(self):
# The success case.

0 comments on commit 09a719a

Please sign in to comment.