summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAymeric Augustin <aymeric.augustin@m4x.org>2012-09-23 13:25:47 +0200
committerAymeric Augustin <aymeric.augustin@m4x.org>2012-09-23 13:27:01 +0200
commit3174b5f2f5bb0b0a6b775a1a50464b6bf2a4b067 (patch)
tree6e40175bd0e3188e08eaaebaf4fa2f74ce5f1c58
parent8599f64e54adfb32ee6550ed7a6ec9944034d978 (diff)
Fixed #18982 - Caught TypeError in DateField.clean
Thanks gwahl at fusionbox com.
-rw-r--r--django/forms/fields.py2
-rw-r--r--tests/regressiontests/forms/tests/fields.py5
2 files changed, 6 insertions, 1 deletions
diff --git a/django/forms/fields.py b/django/forms/fields.py
index 124e4f669a..0075325288 100644
--- a/django/forms/fields.py
+++ b/django/forms/fields.py
@@ -341,7 +341,7 @@ class BaseTemporalField(Field):
for format in self.input_formats:
try:
return self.strptime(value, format)
- except ValueError:
+ except (ValueError, TypeError):
continue
raise ValidationError(self.error_messages['invalid'])
diff --git a/tests/regressiontests/forms/tests/fields.py b/tests/regressiontests/forms/tests/fields.py
index 197ce1abd9..989acbc496 100644
--- a/tests/regressiontests/forms/tests/fields.py
+++ b/tests/regressiontests/forms/tests/fields.py
@@ -356,6 +356,11 @@ class FieldsTests(SimpleTestCase):
self.assertEqual(datetime.date(2006, 10, 25), f.clean(' 25 October 2006 '))
self.assertRaisesMessage(ValidationError, "'Enter a valid date.'", f.clean, ' ')
+ def test_datefield_5(self):
+ # Test null bytes (#18982)
+ f = DateField()
+ self.assertRaisesMessage(ValidationError, "'Enter a valid date.'", f.clean, 'a\x00b')
+
# TimeField ###################################################################
def test_timefield_1(self):