function BlockForm::validateVisibility
Same name in other branches
- 8.9.x core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::validateVisibility()
- 10 core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::validateVisibility()
- 11.x core/modules/block/src/BlockForm.php \Drupal\block\BlockForm::validateVisibility()
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.
1 call to BlockForm::validateVisibility()
- BlockForm::validateForm in core/
modules/ block/ src/ BlockForm.php - Form validation handler.
1 method overrides BlockForm::validateVisibility()
- BlockEntitySettingTrayForm::validateVisibility in core/
modules/ settings_tray/ src/ Block/ BlockEntitySettingTrayForm.php - Helper function to independently validate the visibility UI.
File
-
core/
modules/ block/ src/ BlockForm.php, line 325
Class
- BlockForm
- Provides form for block instance forms.
Namespace
Drupal\blockCode
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));
}
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.