diff options
| author | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-09-23 13:25:47 +0200 |
|---|---|---|
| committer | Aymeric Augustin <aymeric.augustin@m4x.org> | 2012-09-23 13:27:01 +0200 |
| commit | 3174b5f2f5bb0b0a6b775a1a50464b6bf2a4b067 (patch) | |
| tree | 6e40175bd0e3188e08eaaebaf4fa2f74ce5f1c58 | |
| parent | 8599f64e54adfb32ee6550ed7a6ec9944034d978 (diff) | |
Fixed #18982 - Caught TypeError in DateField.clean
Thanks gwahl at fusionbox com.
| -rw-r--r-- | django/forms/fields.py | 2 | ||||
| -rw-r--r-- | tests/regressiontests/forms/tests/fields.py | 5 |
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): |
