[ http://issues.apache.org/jira/browse/MYFACES-721?page=all ]
Mathias Broekelmann closed MYFACES-721:
---------------------------------------
Fix Version: Nightly
Resolution: Fixed
fixed, thanks Guillaume LE STUM
> DataTable erroneously discard saved state when validation error in non child
> field
> ----------------------------------------------------------------------------------
>
> Key: MYFACES-721
> URL: http://issues.apache.org/jira/browse/MYFACES-721
> Project: MyFaces
> Type: Bug
> Components: General
> Versions: 1.1.0
> Reporter: Guillaume LE STUM
> Assignee: Mathias Broekelmann
> Fix For: Nightly
>
> Data table state is reset when a validation error occurs but is neither in a
> child component nor in a previous sibling.
> Testcase:
> <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
> <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
> <%@ taglib uri="http://myfaces.apache.org/tomahawk" prefix="t"%>
> <f:view>
> <h:form>
> <t:div>First data table:</t:div>
> <t:dataTable id="myTable1" var="tableRow1" value="#{list1}">
> <h:column>
> <h:inputText id="rowInput1"
> value="#{tableRow1}" />
> <h:message for="rowInput1"
> errorStyle="color:red"/>
> </h:column>
> </t:dataTable>
> <t:div>Single input field:</t:div>
> <h:outputLabel for="inputLong">Long value (preferably
> 2...):</h:outputLabel>
> <h:inputText id="inputLong" value="3">
> <f:validateLongRange minimum="2" maximum="2" />
> </h:inputText>
> <h:message for="inputLong" errorStyle="color:red"/>
> <t:div>Second data table:</t:div>
> <t:dataTable id="myTable2" var="tableRow2" value="#{list2}">
> <h:column>
> <h:inputText id="rowInput2"
> value="#{tableRow2}" />
> <h:message for="rowInput2"
> errorStyle="color:red"/>
> </h:column>
> </t:dataTable>
> <h:commandButton value="submit" />
> </h:form>
> </f:view>
> <managed-bean>
> <managed-bean-name>list1</managed-bean-name>
> <managed-bean-class>java.util.ArrayList</managed-bean-class>
> <managed-bean-scope>application</managed-bean-scope>
> <list-entries>
> <value-class>java.lang.String</value-class>
> <value>Enter a String</value>
> </list-entries>
> </managed-bean>
> <managed-bean>
> <managed-bean-name>list2</managed-bean-name>
> <managed-bean-class>java.util.ArrayList</managed-bean-class>
> <managed-bean-scope>application</managed-bean-scope>
> <list-entries>
> <value-class>java.lang.String</value-class>
> <value>Enter a String</value>
> </list-entries>
> </managed-bean>
> Enter something custom in first field
> Enter "7" in second field as is (will cause a validation errror)
> Enter something custom in third field
> click submit button
> The page is redisplayed because there is a validation error in second field
> Second and third field have retained the entered values, but first field has
> been reset.
> First field should have retained its entered value as well.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira