function 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

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']);
    }
}