[ 
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.

Reply via email to