private function ContextFormBase::validateConditions in Context 8.4
Validate the condition plugins configuration forms.
Parameters
array $form: The rendered form.
\Drupal\Core\Form\FormStateInterface $form_state: The current form state.
1 call to ContextFormBase::validateConditions()
- ContextFormBase::validateForm in modules/
context_ui/ src/ Form/ ContextFormBase.php - Form validation handler.
File
- modules/
context_ui/ src/ Form/ ContextFormBase.php, line 219
Class
- ContextFormBase
- Provides a context form base.
Namespace
Drupal\context_ui\FormCode
private function validateConditions(array &$form, FormStateInterface $form_state) {
$conditions = $form_state
->getValue('conditions', []);
// Loop trough each condition and update the configuration values by
// validating the conditions form.
foreach ($conditions as $condition_id => $configuration) {
$condition = $this->entity
->getCondition($condition_id);
$condition_values = (new FormState())
->setValues($configuration);
$condition
->validateConfigurationForm($form, $condition_values);
if ($condition_values
->hasAnyErrors()) {
// In case of errors, copy them back from the dummy FormState to the
// master form.
foreach ($condition_values
->getErrors() as $element => $error) {
$form_state
->setErrorByName("conditions][{$condition_id}][{$element}", $error);
}
}
}
}