Project

General

Profile

Actions

Bug #59253

closed

Additional Identity Properties not set on mapping error

Added by Anja Leichsenring almost 10 years ago. Updated over 5 years ago.

Status:
Closed
Priority:
Should have
Assignee:
-
Category:
Fluid
Target version:
-
Start date:
2014-06-01
Due date:
% Done:

100%

Estimated time:
TYPO3 Version:
7
PHP Version:
Tags:
Complexity:
Is Regression:
No
Sprint Focus:

Description

Backport from #29290, see this issue for detailed problem description

When binding Fluid forms to nested objects, Fluid automatically adds
hidden fields with the identifiers of all affected objects so that
the persistence layer can update all objects correctly.

When a form was redisplayed due to property mapping errors, the
identity fields for the nested sub objects were no longer created.

This change fixes this by making sure all identity fields are rendered
recursively also after property mapping errors.

Example code to verify this::
<f:form action="update" object="{user}" objectName="user">
<f:form.textfield property="firstName" />
<f:for each="{user.invoices}" as="invoice" iteration="iteration"> {iteration.cycle}:
<f:form.textfield property="invoices.{iteration.index}.subject" />
</f:for>
<f:form.submit value="update" />
</f:form>

When submitting the form with validation errors, the redisplayed form
should contain a div with a hidden field named
"user[__identity]" for the user and one for each invoice.

Actions

Also available in: Atom PDF