public function EntityField::validateConfigurationForm in Entity Field Condition 2.0.x
Form validation handler.
Parameters
array $form: An associative array containing the structure of the plugin form as built by static::buildConfigurationForm().
\Drupal\Core\Form\FormStateInterface $form_state: The current state of the form. Calling code should pass on a subform state created through \Drupal\Core\Form\SubformState::createForSubform().
Overrides ConditionPluginBase::validateConfigurationForm
File
- src/
Plugin/ Condition/ EntityField.php, line 353
Class
- EntityField
- Define the entity field condition base class.
Namespace
Drupal\entity_field_condition\Plugin\ConditionCode
public function validateConfigurationForm(array &$form, FormStateInterface $form_state) : void {
if ($compare_type_id = $form_state
->getValue([
'entity',
'compare_type',
])) {
try {
/** @var \Drupal\entity_field_condition\Plugin\EntityFieldCondition\CompareType\EntityFieldCompareTypePluginBase $instance */
$instance = $this->entityFieldCompareTypeManager
->createInstance($compare_type_id, $this
->getCompareTypeConfigurations());
$parents = $form['#parents'] ?? [];
if ($instance instanceof EntityFieldCompareTypeInterface) {
$subform = [
'#parents' => array_merge($parents, [
'entity',
'compare_configuration',
]),
];
$instance
->validateConfigurationForm($subform, SubformState::createForSubform($subform, $form, $form_state));
}
} catch (\RuntimeException $exception) {
watchdog_exception('entity_field_condition', $exception);
}
}
}