diff --git a/django/forms/widgets.py b/django/forms/widgets.py index 8b1069d040..e62f9c34df 100644 --- a/django/forms/widgets.py +++ b/django/forms/widgets.py @@ -894,7 +894,7 @@ class SelectDateWidget(Widget): template_name = 'django/forms/widgets/select_date.html' input_type = 'select' select_widget = Select - date_re = re.compile(r'(\d{4})-(\d\d?)-(\d\d?)$') + date_re = re.compile(r'(\d{4}|0)-(\d\d?)-(\d\d?)$') def __init__(self, attrs=None, years=None, months=None, empty_label=None): self.attrs = attrs or {} diff --git a/tests/forms_tests/widget_tests/test_selectdatewidget.py b/tests/forms_tests/widget_tests/test_selectdatewidget.py index 3365f11ab7..9cc646a67a 100644 --- a/tests/forms_tests/widget_tests/test_selectdatewidget.py +++ b/tests/forms_tests/widget_tests/test_selectdatewidget.py @@ -482,6 +482,7 @@ class SelectDateWidgetTest(WidgetTest): valid_formats = [ '2000-1-1', '2000-10-15', '2000-01-01', '2000-01-0', '2000-0-01', '2000-0-0', + '0-01-01', '0-01-0', '0-0-01', '0-0-0', ] for value in valid_formats: year, month, day = (int(x) for x in value.split('-'))