mirror of
https://github.com/django/django.git
synced 2025-03-12 10:22:37 +00:00
Fixed #35988 -- Made BaseForm.full_clean() pass renderer to ErrorDict.
This commit is contained in:
parent
1860a1afc9
commit
02628c051c
@ -316,7 +316,7 @@ class BaseForm(RenderableFormMixin):
|
||||
"""
|
||||
Clean all of self.data and populate self._errors and self.cleaned_data.
|
||||
"""
|
||||
self._errors = ErrorDict()
|
||||
self._errors = ErrorDict(renderer=self.renderer)
|
||||
if not self.is_bound: # Stop further processing.
|
||||
return
|
||||
self.cleaned_data = {}
|
||||
|
@ -5313,6 +5313,22 @@ class OverrideTests(SimpleTestCase):
|
||||
"required></p>",
|
||||
)
|
||||
|
||||
def test_custom_renderer_error_dict(self):
|
||||
class CustomRenderer(DjangoTemplates):
|
||||
def render(self, template_name, context, request=None):
|
||||
if template_name == "django/forms/errors/dict/default.html":
|
||||
return "<strong>So many errors!</strong>"
|
||||
return super().render(template_name, context, request)
|
||||
|
||||
form = Form({}, renderer=CustomRenderer())
|
||||
form.full_clean()
|
||||
form.add_error(None, "Test error")
|
||||
|
||||
self.assertHTMLEqual(
|
||||
form.errors.render(),
|
||||
"<strong>So many errors!</strong>",
|
||||
)
|
||||
|
||||
def test_cyclic_context_boundfield_render(self):
|
||||
class FirstNameForm(Form):
|
||||
first_name = CharField()
|
||||
|
Loading…
x
Reference in New Issue
Block a user