[ https://issues.apache.org/jira/browse/MYFACES-1714?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12530060 ]
Michael Heinen commented on MYFACES-1714: ----------------------------------------- Martin, thanks for looking into this issue. I think jsf developers should not be forced to use component bindings. I don't use them at all. Moreover I think it is not possible to do these component refreshs manually. This would mean that every action/actionListener has to refresh all areas that should be rerenderd via Ajax due to possible validation/conversion errors from previous requests! This can be really cumbersome in complex UIs. I am really astonished that nobody else complaints about this issue in combination with ajax. Could it be an alternative to erase all submitted/local values after rendering a component in the last phase? I think that these value are not used anymore afterwards, or? Input fields should be submitted again and old local/submitted values from previous requests should be of no use but I am not entirely sure about possible side effects and I am not so deeply involved in JSF internals. > submitted (or local) values are not erasable after conversion or validation > error > --------------------------------------------------------------------------------- > > Key: MYFACES-1714 > URL: https://issues.apache.org/jira/browse/MYFACES-1714 > Project: MyFaces Core > Issue Type: Bug > Affects Versions: 1.1.5 > Environment: tomcat 5.5.23 > myfaces 1.1.5 > tomahawk 1.1.5 > ajax4jsf 1.1.1 > Reporter: Michael Heinen > Priority: Critical > Attachments: validation.war > > > There is a serious conversion/validation problem with JSF in combination with > ajax.. > From my point of view this is a major show stopper for jsf applications in > combination with ajax. > Therefore I created a simple demo application and attach it to this issue. > My form contains a few input fields for Strings, dates and a number. If an > invalid format is entered then the submitted value is not erased and the page > is rerendered with the entered value. > This is working fine so far. > > The error occurs now if I click then another ajax command that forces a > refresh of the invalid fields via ajax. > I use an a4j:commandButton with ajaxSingle=true and surrounded this button by > an a4j:region in order to process no input fields on serverside. > The values that are bound via valueBinding to the inputFields are set to null > or reinitialized in the invoked ActionListener. > But the old invalid data from the previous request is rerendered on the page. > > This happens because the submitted values of the invalid inputFields are not > null but still contain the old invalid data. > Therefore the valueBinding is not evaluated in the getter. > > I can't set the submitted value to null in the converter because invalid > values should be rerendered in case that a normal processing button (not > cancel button) is clicked. > Pls have a look at the demo application: > Call ... faces/test.jsp > 1) Enter some data > (e.g name="twotest", startDate="01/01/70", endDate="01/01/70" > message="hello" count=55) > and click save > Result: Everything works fine.The new object is rendered in the list > 2) Enter invalid data > (e.g. number=doh) > and click save > Result: conversion error "Count:": value is no valid number (don't know > the correct english message) > 3) Click create new > Result: Field count does still contain the old value doh > > 4) Click Edit > Result: Field count does still contain the old value doh > The other fields are correctly initialized > > My first approach was to except submittedValue from stateSaving but this did > not solve the problem.. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.