BlockForm::validateVisibility

protected BlockForm::validateVisibility(array $form, FormStateInterface $form_state)

Helper function to independently validate the visibility UI.

Parameters

array $form: A nested array form elements comprising the form.

\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.

File

core/modules/block/src/BlockForm.php, line 319

Class

BlockForm
Provides form for block instance forms.

Namespace

Drupal\block

Code

protected function validateVisibility(array $form, FormStateInterface $form_state) {
  // Validate visibility condition settings.
  foreach ($form_state->getValue('visibility') as $condition_id => $values) {
    // All condition plugins use 'negate' as a Boolean in their schema.
    // However, certain form elements may return it as 0/1. Cast here to
    // ensure the data is in the expected type.
    if (array_key_exists('negate', $values)) {
      $form_state->setValue(['visibility', $condition_id, 'negate'], (bool) $values['negate']);
    }

    // Allow the condition to validate the form.
    $condition = $form_state->get(['conditions', $condition_id]);
    $condition->validateConfigurationForm($form['visibility'][$condition_id], SubformState::createForSubform($form['visibility'][$condition_id], $form, $form_state));
  }
}
doc_Drupal
2016-10-29 08:47:33
Comments
Leave a Comment

Please login to continue.