From 0d14498ee00fb505f919410a0513452817ffced9 Mon Sep 17 00:00:00 2001 From: Adrian Holovaty Date: Fri, 30 Jun 2006 18:57:23 +0000 Subject: [PATCH] Improved DateField.to_python() to catch invalid dates like Feb. 31 git-svn-id: http://code.djangoproject.com/svn/django/trunk@3242 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- django/db/models/fields/__init__.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/django/db/models/fields/__init__.py b/django/db/models/fields/__init__.py index 8b000d3c2a..c36cd9808d 100644 --- a/django/db/models/fields/__init__.py +++ b/django/db/models/fields/__init__.py @@ -406,7 +406,10 @@ class DateField(Field): if isinstance(value, datetime.date): return value validators.isValidANSIDate(value, None) - return datetime.date(*time.strptime(value, '%Y-%m-%d')[:3]) + try: + return datetime.date(*time.strptime(value, '%Y-%m-%d')[:3]) + except ValueError: + raise validators.ValidationError, gettext('Enter a valid date in YYYY-MM-DD format.') def get_db_prep_lookup(self, lookup_type, value): if lookup_type == 'range':