Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Fixed #16479 - Forms generated from formsets use ErrorList instead of…

… supplied error_class

Patch with tests from charettes, updated.
  • Loading branch information...
commit 7a44dc555a3c9bfd1691ebb346b91f25d2f94c7d 1 parent cc83a4a
@vicould vicould authored spookylukey committed
View
6 django/forms/formsets.py
@@ -123,7 +123,11 @@ def _construct_form(self, i, **kwargs):
"""
Instantiates and returns the i-th form instance in a formset.
"""
- defaults = {'auto_id': self.auto_id, 'prefix': self.add_prefix(i)}
+ defaults = {
+ 'auto_id': self.auto_id,
+ 'prefix': self.add_prefix(i),
+ 'error_class': self.error_class,
+ }
if self.is_bound:
defaults['data'] = self.data
defaults['files'] = self.files
View
10 tests/regressiontests/forms/tests/formsets.py
@@ -3,6 +3,7 @@
from django.forms import Form, CharField, IntegerField, ValidationError, DateField
from django.forms.formsets import formset_factory, BaseFormSet
+from django.forms.util import ErrorList
from django.test import TestCase
@@ -847,6 +848,15 @@ def test_formset_nonzero(self):
self.assertTrue(formset)
+ def test_formset_error_class(self):
+ # Regression tests for #16479 -- formsets form use ErrorList instead of supplied error_class
+ class CustomErrorList(ErrorList):
+ pass
+
+ formset = FavoriteDrinksFormSet(error_class=CustomErrorList)
+ self.assertEqual(formset.forms[0].error_class, CustomErrorList)
+
+
data = {
'choices-TOTAL_FORMS': '1', # the number of forms rendered
'choices-INITIAL_FORMS': '0', # the number of forms with initial data
Please sign in to comment.
Something went wrong with that request. Please try again.