Skip to content
Snippets Groups Projects

Issue #3358843 fix multiple errors while validating entity

Merged Oleh Tarasiuk requested to merge issue/inline_entity_form-3358843:8.x-1.x into 2.0.x
@@ -266,15 +266,19 @@ class EntityInlineForm implements InlineFormInterface {
$entity = $entity_form['#entity'];
$this->buildEntity($entity_form, $entity, $form_state);
$form_display = $this->getFormDisplay($entity, $entity_form['#form_mode']);
$form_display->validateFormValues($entity, $entity_form, $form_state);
$entity->setValidationRequired(FALSE);
foreach ($form_state->getErrors() as $message) {
// $name may be unknown in $form_state and
// $form_state->setErrorByName($name, $message) may suppress the error
// message.
$form_state->setError($triggering_element, $message);
// Do the entity validation.
$violations = $entity->validate();
$violations->filterByFieldAccess();
// Flag entity level violations.
foreach ($violations->getEntityViolations() as $violation) {
/** @var \Symfony\Component\Validator\ConstraintViolationInterface $violation */
$form_state->setError($triggering_element, $violation->getMessage());
}
$form_display->flagWidgetsErrorsFromViolations($violations, $entity_form, $form_state);
$entity->setValidationRequired(FALSE);
}
}
Loading