diff --git a/inline_entity_form.module b/inline_entity_form.module index 4098b95..0172690 100644 --- a/inline_entity_form.module +++ b/inline_entity_form.module @@ -847,8 +847,22 @@ function inline_entity_form_process_entity_form(&$entity_form, &$form_state) { $controller = inline_entity_form_get_controller($instance); $controller->entityFormValidate($entity_form, $form_state); + // Unset untriggered conditional fields errors + $errors = form_get_errors(); + if (!empty($form_state['conditional_fields_untriggered_dependents'])) { + foreach ($form_state['conditional_fields_untriggered_dependents'] as $untriggered_dependents ) { + if (!empty($untriggered_dependents['errors'])) { + foreach ($untriggered_dependents['errors'] as $key => $value) { + if (isset($errors[$key])) { + unset($errors[$key]); + } + } + } + } + } + // If validation passed, execute the submission handler. - if (!form_get_errors()) { + if ($form_state['submitted'] && sizeof($errors) == 0) { $controller->entityFormSubmit($entity_form, $form_state); $entity = $entity_form['#entity'];