summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoseph Kocherhans <joseph@jkocherhans.com>2007-09-07 02:32:03 +0000
committerJoseph Kocherhans <joseph@jkocherhans.com>2007-09-07 02:32:03 +0000
commitff2a2884a15ddd23d7414497341905c56023abac (patch)
treef1bfdf62b7a3203d5ce98799ebed40c48bc9eccd
parent976acdc7743180993dc8257f5d256206857e8160 (diff)
Fixed #4867. FormSet.is_valid() now returns False when the FormSet is not bound. Thanks John Shaffer.
git-svn-id: http://code.djangoproject.com/svn/django/branches/newforms-admin@6052 bcc190cf-cafb-0310-a4f2-bffc1f526a37
-rw-r--r--django/newforms/formsets.py4
-rw-r--r--tests/regressiontests/forms/formsets.py4
2 files changed, 7 insertions, 1 deletions
diff --git a/django/newforms/formsets.py b/django/newforms/formsets.py
index ef1083ba28..3f4a387fca 100644
--- a/django/newforms/formsets.py
+++ b/django/newforms/formsets.py
@@ -153,6 +153,8 @@ class BaseFormSet(object):
return '%s-%s' % (self.prefix, index)
def is_valid(self):
+ if not self.is_bound:
+ return False
self.full_clean()
return self._is_valid
@@ -175,4 +177,4 @@ def all_valid(formsets):
for formset in formsets:
if not formset.is_valid():
return False
- return True \ No newline at end of file
+ return True
diff --git a/tests/regressiontests/forms/formsets.py b/tests/regressiontests/forms/formsets.py
index 1c4f3d91b8..95dc8e4a36 100644
--- a/tests/regressiontests/forms/formsets.py
+++ b/tests/regressiontests/forms/formsets.py
@@ -48,6 +48,10 @@ True
>>> formset.cleaned_data
[{'votes': 100, 'choice': u'Calexico'}]
+If a FormSet was not passed any data, its is_valid method should return False.
+>>> formset = ChoiceFormSet()
+>>> formset.is_valid()
+False
FormSet instances can also have an error attribute if validation failed for
any of the forms.