diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2010-03-12 15:51:00 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2010-03-12 15:51:00 +0000 |
| commit | 4120a181e9109383ab35df52dbb3621302a75a72 (patch) | |
| tree | 0ba0ea974006580a0d1936d94b95e2f5db259739 /tests/regressiontests/forms/formsets.py | |
| parent | fbf00078e1bdd702f95c7b56277fe602b3bda9e1 (diff) | |
Fixed #11801 -- Corrected form validation to ensure you can still get deleted_forms and ordered_forms when a form that is being deleted doesn't validate. Thanks to dantallis for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@12771 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests/forms/formsets.py')
| -rw-r--r-- | tests/regressiontests/forms/formsets.py | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/tests/regressiontests/forms/formsets.py b/tests/regressiontests/forms/formsets.py index d9d4082f71..3eecb7f7be 100644 --- a/tests/regressiontests/forms/formsets.py +++ b/tests/regressiontests/forms/formsets.py @@ -332,6 +332,26 @@ If we remove the deletion flag now we will have our validation back. >>> formset.is_valid() False +Should be able to get deleted_forms from a valid formset even if a +deleted form would have been invalid. + +>>> class Person(Form): +... name = CharField() + +>>> PeopleForm = formset_factory( +... form=Person, +... can_delete=True) + +>>> p = PeopleForm( +... {'form-0-name': u'', 'form-0-DELETE': u'on', # no name! +... 'form-TOTAL_FORMS': 1, 'form-INITIAL_FORMS': 1, +... 'form-MAX_NUM_FORMS': 1}) + +>>> p.is_valid() +True +>>> len(p.deleted_forms) +1 + # FormSets with ordering ###################################################### We can also add ordering ability to a FormSet with an agrument to @@ -492,6 +512,26 @@ True >>> [form.cleaned_data for form in formset.deleted_forms] [{'votes': 900, 'DELETE': True, 'ORDER': 2, 'choice': u'Fergie'}] +Should be able to get ordered forms from a valid formset even if a +deleted form would have been invalid. + +>>> class Person(Form): +... name = CharField() + +>>> PeopleForm = formset_factory( +... form=Person, +... can_delete=True, +... can_order=True) + +>>> p = PeopleForm( +... {'form-0-name': u'', 'form-0-DELETE': u'on', # no name! +... 'form-TOTAL_FORMS': 1, 'form-INITIAL_FORMS': 1, +... 'form-MAX_NUM_FORMS': 1}) + +>>> p.is_valid() +True +>>> p.ordered_forms +[] # FormSet clean hook ########################################################## |
