diff --git a/components/date.inc b/components/date.inc index b1b694d..2358df3 100644 --- a/components/date.inc +++ b/components/date.inc @@ -291,6 +291,18 @@ function webform_validate_date($element, $form_state) { if ($element['month']['#value'] !== '' || $element['day']['#value'] !== '' || $element['year']['#value'] !== '') { // Check for a valid date. + $error = FALSE; + foreach (array('month', 'day', 'year') as $type) { + if (empty($element[$type]['#value'])) { + $element_name = implode('][', array_merge($element['#parents'], (array) $type)); + form_set_error($element_name, t('!name is not a filled.', array('!name' => ucwords(strtolower($type))))); + $error = TRUE; + } + } + if($error == TRUE) { + return; + } + // Check for a valid date. if (!checkdate((int) $element['month']['#value'], (int) $element['day']['#value'], (int) $element['year']['#value'])) { form_error($element, t('Entered !name is not a valid date.', array('!name' => $element['#title']))); return;