mirror of
https://github.com/django/django.git
synced 2025-10-31 09:41:08 +00:00
Fixed #27015 -- Prevented HTML-invalid minlength/maxlength on hidden inputs
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.forms import (
|
||||
CharField, PasswordInput, Textarea, TextInput, ValidationError,
|
||||
CharField, HiddenInput, PasswordInput, Textarea, TextInput, ValidationError,
|
||||
)
|
||||
from django.test import SimpleTestCase
|
||||
|
||||
@@ -79,7 +79,9 @@ class CharFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
|
||||
|
||||
def test_charfield_widget_attrs(self):
|
||||
"""
|
||||
CharField.widget_attrs() always returns a dictionary (#15912).
|
||||
CharField.widget_attrs() always returns a dictionary and includes
|
||||
minlength/maxlength if min_length/max_length are defined on the field
|
||||
and the widget is not hidden.
|
||||
"""
|
||||
# Return an empty dictionary if max_length and min_length are both None.
|
||||
f = CharField()
|
||||
@@ -104,6 +106,7 @@ class CharFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
|
||||
self.assertEqual(f.widget_attrs(TextInput()), {'maxlength': '10', 'minlength': '5'})
|
||||
self.assertEqual(f.widget_attrs(PasswordInput()), {'maxlength': '10', 'minlength': '5'})
|
||||
self.assertEqual(f.widget_attrs(Textarea()), {'maxlength': '10', 'minlength': '5'})
|
||||
self.assertEqual(f.widget_attrs(HiddenInput()), {})
|
||||
|
||||
def test_charfield_strip(self):
|
||||
"""
|
||||
|
||||
Reference in New Issue
Block a user