1 date.admin.inc | date_field_widget_settings_form_validate(&$form, &$form_state) |
Form validation handler for _date_field_widget_settings_form().
File
- core/
modules/ date/ date.admin.inc, line 524 - Admin page callbacks for the Date module.
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.'));
}
}