You are here

public function ViewsExposedFilterBlocksBlock::blockValidate in Views exposed filter blocks 8

Overrides BlockPluginTrait::blockValidate

File

src/Plugin/Block/ViewsExposedFilterBlocksBlock.php, line 54

Class

ViewsExposedFilterBlocksBlock
Provides a separate views exposed filter block.

Namespace

Drupal\views_exposed_filter_blocks\Plugin\Block

Code

public function blockValidate($form, FormStateInterface $form_state) {
  $view_display = $form_state
    ->getValue('view_display');
  if (!empty($view_display)) {

    // Check if the selected value is OK:
    list($view_id, $display_id) = explode(':', $view_display);
    if (empty($view_id) || empty($display_id)) {
      $form_state
        ->setErrorByName('view_display', t('View or display coult not be determined correctly from the selected value.'));
    }
    else {

      // Check if the view exists:
      $view = Views::getView($view_id);
      if (empty($view)) {
        $form_state
          ->setErrorByName('view_display', t('View "%view_id" or its given display: "%display_id" doesn\'t exist. Please check the views exposed filter block configuration.', [
          '%view_id' => $view_id,
          '%display_id' => $display_id,
        ]));
      }
    }
  }
}