diff --git a/Classes/Core/Runtime/FormRuntime.php b/Classes/Core/Runtime/FormRuntime.php index 209d3a8..543e706 100644 --- a/Classes/Core/Runtime/FormRuntime.php +++ b/Classes/Core/Runtime/FormRuntime.php @@ -280,13 +280,18 @@ protected function mapAndValidatePage(Page $page) } }; + $pageFormValues = []; foreach ($page->getElementsRecursively() as $element) { $value = Arrays::getValueByPath($requestArguments, $element->getIdentifier()); $element->onSubmit($this, $value); - $this->formState->setFormValue($element->getIdentifier(), $value); + $pageFormValues[$element->getIdentifier()] = $value; $registerPropertyPaths($element->getIdentifier()); } + $page->onSubmit($this, $pageFormValues); + foreach ($pageFormValues as $elementIdentifier => $value) { + $this->formState->setFormValue($elementIdentifier, $value); + } // The more parts the path has, the more early it is processed usort($propertyPathsForWhichPropertyMappingShouldHappen, function ($a, $b) {