mirror of
https://github.com/django/django.git
synced 2025-03-12 18:30:48 +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.
|
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.
|
if not self.is_bound: # Stop further processing.
|
||||||
return
|
return
|
||||||
self.cleaned_data = {}
|
self.cleaned_data = {}
|
||||||
|
@ -5313,6 +5313,22 @@ class OverrideTests(SimpleTestCase):
|
|||||||
"required></p>",
|
"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):
|
def test_cyclic_context_boundfield_render(self):
|
||||||
class FirstNameForm(Form):
|
class FirstNameForm(Form):
|
||||||
first_name = CharField()
|
first_name = CharField()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user