public function EntityExtraFieldForm::validateForm in Entity Extra Field 2.0.x
Same name and namespace in other branches
- 8 src/Form/EntityExtraFieldForm.php \Drupal\entity_extra_field\Form\EntityExtraFieldForm::validateForm()
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
- src/
Form/ EntityExtraFieldForm.php, line 232
Class
- EntityExtraFieldForm
- Define entity extra field form.
Namespace
Drupal\entity_extra_field\FormCode
public function validateForm(array &$form, FormStateInterface $form_state) : void {
parent::validateForm($form, $form_state);
if ($field_type_id = $form_state
->getValue('field_type_id')) {
$field_type_instance = $this
->createFieldTypeInstance($field_type_id, $form_state);
if ($field_type_instance instanceof PluginFormInterface) {
$subform = [
'#parents' => [
'field_type_config',
],
];
$field_type_instance
->validateConfigurationForm($subform, SubformState::createForSubform($subform, $form, $form_state));
}
}
if ($condition = $form_state
->getValue([
'field_type_condition',
])) {
foreach ($condition as $plugin_id => $configuration) {
$subform_parents = array_merge([
'field_type_condition',
], [
$plugin_id,
]);
/** @var \Drupal\Core\Condition\ConditionInterface $instance */
$instance = $this->conditionPluginManager
->createInstance($plugin_id, $configuration);
$subform = [
'#parents' => $subform_parents,
];
$instance
->validateConfigurationForm($subform, SubformState::createForSubform($subform, $form, $form_state));
}
}
}