KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I am attempting to validate a form (and it used to work before). For some reason, I can't seem to get the various cleaning functions such as clean_username(self) to get called when form.is_valid() is called. I know there are not nearly enough checks yet (they are under construction you see ;-) ), but here are my classes: class LoginForm(forms.Form): username = forms.CharField(max_length=30) password = forms.CharField(max_length=30,widget=forms.PasswordInput) def clean_password(self): print "Cleaning password" password = self.cleaned_data['password'] if password == u"": raise forms.ValidationError("Password is blank.") return password def clean_username(self): username = self.cleaned_data['username'] if len(username) < 4: raise forms.ValidationError("Username is fewer than four charecters.") return username class RegistrationForm( LoginForm ): confirm_password = forms.CharField(widget=forms.PasswordInput, max_length=30) email = forms.EmailField() def clean_confirm_password(self): print "Cleaning confirm password" clean_confirm_password = self.cleaned_data['confirm_password'] if clean_confirm_password == u"": raise forms.ValidationError("Confirming password is blank.") return clean_confirm_password def clean(self): print "Running clean on a registration form" print self.cleaned_data.items() password = self.cleaned_data['password'] confirm = self.cleaned_data['confirm_password'] if password != confirm: raise forms.ValidationError('Passwords do not match.') return self.cleaned_data Thank you!
Tags (comma-separated)
Save Edits
Cancel