You are here

public function FilterPluginBase::validateExposeForm in Drupal 9

Same name and namespace in other branches
  1. 8 core/modules/views/src/Plugin/views/filter/FilterPluginBase.php \Drupal\views\Plugin\views\filter\FilterPluginBase::validateExposeForm()
  2. 10 core/modules/views/src/Plugin/views/filter/FilterPluginBase.php \Drupal\views\Plugin\views\filter\FilterPluginBase::validateExposeForm()

Validate the options form.

Overrides HandlerBase::validateExposeForm

1 call to FilterPluginBase::validateExposeForm()
FilterPluginBase::validateOptionsForm in core/modules/views/src/Plugin/views/filter/FilterPluginBase.php
Simple validate handler.

File

core/modules/views/src/Plugin/views/filter/FilterPluginBase.php, line 667

Class

FilterPluginBase
Base class for Views filters handler plugins.

Namespace

Drupal\views\Plugin\views\filter

Code

public function validateExposeForm($form, FormStateInterface $form_state) {
  $identifier = $form_state
    ->getValue([
    'options',
    'expose',
    'identifier',
  ]);
  $this
    ->validateIdentifier($identifier, $form_state, $form['expose']['identifier']);
  $limit_operators = $form_state
    ->getValue([
    'options',
    'expose',
    'operator_limit_selection',
  ]);
  $operators_selected = $form_state
    ->getValue([
    'options',
    'expose',
    'operator_list',
  ]);
  $selected_operator = $form_state
    ->getValue([
    'options',
    'operator',
  ]);
  if ($limit_operators && !in_array($selected_operator, $operators_selected, TRUE)) {
    $form_state
      ->setError($form['expose']['operator_list'], $this
      ->t('You selected the "@operator" operator as the default value but is not included in the list of limited operators.', [
      '@operator' => $this
        ->operatorOptions()[$selected_operator],
    ]));
  }
}