public function ConditionCreatorForm::validateForm in Block Visibility Groups 8
Form validation handler.
Parameters
array $form: An associative array containing the structure of the form.
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form.
Overrides FormBase::validateForm
File
- block_visibility_groups_admin/
src/ Form/ ConditionCreatorForm.php, line 124
Class
- ConditionCreatorForm
- Provides a form to create conditions.
Namespace
Drupal\block_visibility_groups_admin\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) {
$conditions = $this
->getConditionValues($form_state);
$route_name = $form_state
->getValue('route_name');
$parameters = $form_state
->getValue('parameters');
foreach ($conditions as $plugin_id => $plugin_info) {
/** @var \Drupal\block_visibility_groups_admin\Plugin\ConditionCreatorInterface $plugin */
$plugin = $this->manager
->createInstance($plugin_id, [
'route_name' => $route_name,
'parameters' => $parameters,
]);
if ($plugin
->itemSelected($plugin_info)) {
// At least 1 condition setting selected.
return;
}
}
$form_state
->setErrorByName('conditions', $this
->t('At least one condition must be selected'));
}