Index: date.inc
===================================================================
RCS file: /cvs/drupal-contrib/contributions/modules/webform/components/date.inc,v
retrieving revision 1.29.2.2
diff -u -r1.29.2.2 date.inc
--- date.inc   8 Mar 2010 01:04:08 -0000   1.29.2.2
+++ date.inc   10 Mar 2010 14:24:41 -0000
@@ -231,25 +231,26 @@
 
   // Check if the user filled the required fields.
   foreach (array('day', 'month', 'year') as $field_type) {
-    if (!is_numeric($element[$field_type]['#value']) && $element['#required']) {
+    if (!is_numeric($element['#value'][$field_type]) && $element['#required']) {
       form_set_error($form_key, t('!name field is required.', array('!name' => $name)));
+      drupal_set_message(var_export(array('element' => $element, 'state' => $form_state), true));
       return;
     }
   }
   // Check for a valid date.
-  if ($element['month']['#value'] !== '' || $element['day']['#value'] !== '' || $element['year']['#value'] !== '') {
-    if (!checkdate((int)$element['month']['#value'], (int)$element['day']['#value'], (int)$element['year']['#value'])) {
+  if ($element['#value']['month'] !== '' || $element['#value']['day'] !== '' || $element['#value']['year'] !== '') {
+    if (!checkdate((int)$element['#value']['month'], (int)$element['#value']['day'], (int)$element['#value']['year'])) {
       form_set_error($form_key, t('Entered !name is not a valid date.', array('!name' => $name)));
       return;
     }
   }
   // Check the date is between allowed years.
-  if ($element['year']['#value'] !== '' && is_numeric($component['extra']['year_start']) && is_numeric($component['extra']['year_end'])) {
+  if ($element['#value']['year'] !== '' && is_numeric($component['extra']['year_start']) && is_numeric($component['extra']['year_end'])) {
     // Allow years to be in reverse order.
     $start = $component['extra']['year_start'] < $component['extra']['year_end'] ? $component['extra']['year_start'] : $component['extra']['year_end'];
     $end   = $component['extra']['year_start'] > $component['extra']['year_end'] ? $component['extra']['year_start'] : $component['extra']['year_end'];
-    if ($element['year']['#value'] < $start || $element['year']['#value'] > $end) {
-      form_set_error($form_key . '][year', t('The entered date needs to be between the years @start and @end.', array('@start' => $start, '@end' => $end)));
+    if ($element['#value']['year'] < $start || $element['#value']['year'] > $end) {
+      form_set_error($form_key .'][year', t('The entered date needs to be between the years @start and @end.', array('@start' => $start, '@end' => $end)));
       return;
     }
   }
