From 52d72a5a3e62ed8fde5796e0e131a8f7a5aefac3 Mon Sep 17 00:00:00 2001 From: Jannis Leidel Date: Sat, 4 Feb 2012 16:05:30 +0000 Subject: [PATCH] Fixed #17182 -- Changed best practice documentation for Form.clean to use super() instead of relying on self.cleaned_data. Thanks, DrMeers. git-svn-id: http://code.djangoproject.com/svn/django/trunk@17433 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/ref/forms/validation.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/docs/ref/forms/validation.txt b/docs/ref/forms/validation.txt index 7657353495..42006bba90 100644 --- a/docs/ref/forms/validation.txt +++ b/docs/ref/forms/validation.txt @@ -300,7 +300,7 @@ example:: ... def clean(self): - cleaned_data = self.cleaned_data + cleaned_data = super(ContactForm, self).clean() cc_myself = cleaned_data.get("cc_myself") subject = cleaned_data.get("subject") @@ -316,6 +316,9 @@ example:: In this code, if the validation error is raised, the form will display an error message at the top of the form (normally) describing the problem. +Note that the call to ``super(ContactForm, self).clean()`` in the example code +ensures that any validation logic in parent classes is maintained. + The second approach might involve assigning the error message to one of the fields. In this case, let's assign an error message to both the "subject" and "cc_myself" rows in the form display. Be careful when doing this in practice, @@ -329,7 +332,7 @@ sample) looks like this:: ... def clean(self): - cleaned_data = self.cleaned_data + cleaned_data = super(ContactForm, self).clean() cc_myself = cleaned_data.get("cc_myself") subject = cleaned_data.get("subject")