summaryrefslogtreecommitdiff
path: root/django/forms
diff options
context:
space:
mode:
authorAndrew Godwin <andrew@aeracode.org>2013-05-19 03:56:14 -0700
committerAndrew Godwin <andrew@aeracode.org>2013-05-19 03:56:14 -0700
commit04e0fc029f6868221dbba850e5a8830c8d11c42c (patch)
tree1f3eeeb4ea46b44e60c92000b3dcbf9be5e22dba /django/forms
parent7a99d1e167f81c5fcd1b9f7f548c5d6959cef2ef (diff)
parentb11b036145d6a1e9d2192e332c8a221a595be1b6 (diff)
Merge pull request #1094 from senko/ticket_11160
Fixed #11160: Formset non_form_errors returns ErrorList() if is_valid is not called
Diffstat (limited to 'django/forms')
-rw-r--r--django/forms/formsets.py11
1 files changed, 7 insertions, 4 deletions
diff --git a/django/forms/formsets.py b/django/forms/formsets.py
index d421770093..3ec94d20ec 100644
--- a/django/forms/formsets.py
+++ b/django/forms/formsets.py
@@ -250,9 +250,9 @@ class BaseFormSet(object):
form -- i.e., from formset.clean(). Returns an empty ErrorList if there
are none.
"""
- if self._non_form_errors is not None:
- return self._non_form_errors
- return self.error_class()
+ if self._non_form_errors is None:
+ self.full_clean()
+ return self._non_form_errors
@property
def errors(self):
@@ -291,9 +291,12 @@ class BaseFormSet(object):
def full_clean(self):
"""
- Cleans all of self.data and populates self._errors.
+ Cleans all of self.data and populates self._errors and
+ self._non_form_errors.
"""
self._errors = []
+ self._non_form_errors = self.error_class()
+
if not self.is_bound: # Stop further processing.
return
for i in range(0, self.total_form_count()):