You are here

public function views_handler_filter::expose_validate in Views (for Drupal 7) 7.3

Same name and namespace in other branches
  1. 6.3 handlers/views_handler_filter.inc \views_handler_filter::expose_validate()
  2. 6.2 handlers/views_handler_filter.inc \views_handler_filter::expose_validate()

Validate the options form.

Overrides views_handler::expose_validate

1 call to views_handler_filter::expose_validate()
views_handler_filter::options_validate in handlers/views_handler_filter.inc
Simple validate handler.

File

handlers/views_handler_filter.inc, line 665
Definitions of views_handler_filter and views_handler_filter_broken.

Class

views_handler_filter
Base class for filters.

Code

public function expose_validate($form, &$form_state) {
  if (empty($form_state['values']['options']['expose']['identifier'])) {
    form_error($form['expose']['identifier'], t('The identifier is required if the filter is exposed.'));
  }
  if (!empty($form_state['values']['options']['expose']['identifier'])) {
    $illegal_identifiers = array(
      'value',
      'q',
    );
    if (in_array($form_state['values']['options']['expose']['identifier'], $illegal_identifiers)) {
      form_error($form['expose']['identifier'], t('This identifier is not allowed.'));
    }
  }
  if (!$this->view->display_handler
    ->is_identifier_unique($form_state['id'], $form_state['values']['options']['expose']['identifier'])) {
    form_error($form['expose']['identifier'], t('This identifier is used by another handler.'));
  }

  // Filter out roles which weren't selected, so that they aren't exported.
  // This is purely cosmetic.
  if (!empty($form_state['values']['options']['expose']['remember_roles'])) {
    $form_state['values']['options']['expose']['remember_roles'] = array_filter($form_state['values']['options']['expose']['remember_roles']);
  }
}