myfaces-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Martin Zdila (JIRA)" <myfaces-...@incubator.apache.org>
Subject [jira] Commented: (MYFACES-187) UIInput.getValue can return wrong (old) value
Date Fri, 22 Apr 2005 14:04:27 GMT
     [ http://issues.apache.org/jira/browse/MYFACES-187?page=comments#action_63488 ]
     
Martin Zdila commented on MYFACES-187:
--------------------------------------

I report the same behavior.

If there are on the JSP page for example two h:inputText components from which the first is
required="true" and one h:commendButton with action leading to the same page, then:

1. enter a string to first and second h:inputText and submit the page
2. page is submitted with no validation errors, both h:inputText are filled in
3. delete the text from both h:inputText components
4. page is submitted with validation errors, the first h:inputText is blank with an error
- this behavior is OK, and the second h:inputText is blank too - but it shouldn't.

Removing the code mentioned in the previous post would really help.
Thanks!

> UIInput.getValue can return wrong (old) value
> ---------------------------------------------
>
>          Key: MYFACES-187
>          URL: http://issues.apache.org/jira/browse/MYFACES-187
>      Project: MyFaces
>         Type: Bug
>     Versions: 1.0.9 beta
>     Reporter: Howard Abrams

>
> 'UIInput.getValue' will return the wrong (old) value if called between validation and
update phase when the submitted value is "" and the old value was a non-zero length string.
> The offending code is in UIInput.validate:
>     if(submittedValue instanceof String && ((String) submittedValue).length()==0)
>     {
>         submittedValue = null;
>     }
> The effect of this is that when the client submits "", the submittedValue of null works
it's way down to 'setValue'. This would seem correct, but 'getValue' checks to see if the
value is null, and if it is, it uses the value binding. The end result is that 'getValue'
will return the wrong (old) value if called between validation and update phase becuase the
model has not been updated yet, but the local value has been null'd.
> Neither the spec, nor the offical JavaDoc mention this behavior. I belive the code should
be removed. Anyone know why it is there?

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


Mime
View raw message