You are here

function _date_field_widget_settings_form_validate in Date 7.2

Same name and namespace in other branches
  1. 7.3 date_admin.inc \_date_field_widget_settings_form_validate()

Form validation handler for _date_field_widget_settings_form().

1 call to _date_field_widget_settings_form_validate()
date_field_widget_settings_form_validate in ./date.field.inc
Form validation handler for _date_field_widget_settings_form().

File

./date_admin.inc, line 486
Date administration functionality.

Code

function _date_field_widget_settings_form_validate(&$form, &$form_state) {

  // The widget settings are in the wrong place in the form because of #tree on
  // the top level.
  $settings = $form_state['values']['instance']['widget']['settings'];
  $settings = array_merge($settings, $settings['advanced']);
  unset($settings['advanced']);
  form_set_value(array(
    '#parents' => array(
      'instance',
      'widget',
      'settings',
    ),
  ), $settings, $form_state);
  $widget =& $form_state['values']['instance']['widget'];

  // Munge the table display for text parts back into an array of text parts.
  if (is_array($widget['settings']['text_parts'])) {
    form_set_value($form['text_parts'], array_keys(array_filter($widget['settings']['text_parts'])), $form_state);
  }
  if ($widget['settings']['input_format'] === 'custom' && empty($widget['settings']['input_format_custom'])) {
    form_set_error('instance][widget][settings][input_format_custom', t('Please enter a custom date format, or choose one of the preset formats.'));
  }
}