You are here

function search_api_autocomplete_admin_search_edit_validate in Search API Autocomplete 7

Validate callback for search_api_autocomplete_admin_search_edit().

See also

search_api_autocomplete_admin_search_edit()

search_api_autocomplete_admin_search_edit_submit()

File

./search_api_autocomplete.admin.inc, line 382
Contains page callbacks and related functions for the admin UI.

Code

function search_api_autocomplete_admin_search_edit_validate(array $form, array &$form_state) {
  $values =& $form_state['values'];

  // Call the config form validation method of the selected suggester plugin,
  // but only if it was the same plugin that created the form.
  if ($values['suggester_id'] == $values['old_suggester_id']) {
    $configuration = array();
    if (!empty($values['options']['suggester_configuration'])) {
      $configuration = $values['options']['suggester_configuration'];
    }
    $suggester = search_api_autocomplete_suggester_load($values['suggester_id'], $form_state['search'], $configuration);
    $suggester_form = $form['options']['suggester_configuration'];
    unset($suggester_form['old_suggester_id']);
    $suggester_form_state =& search_api_autocomplete_get_plugin_form_state($form_state);
    $suggester
      ->validateConfigurationForm($suggester_form, $suggester_form_state);
  }
  if (!empty($form_state['type']['config form'])) {
    $f = $form_state['type']['config form'] . '_validate';
    if (function_exists($f)) {
      $custom_form = empty($form['options']['custom']) ? array() : $form['options']['custom'];
      $f($custom_form, $form_state, $values['options']['custom']);
    }
  }
}