[ 
https://issues.apache.org/jira/browse/TRINIDAD-2064?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Mark Yvanovich updated TRINIDAD-2064:
-------------------------------------

    Status: Patch Available  (was: Open)

> UIXEditableValue.compareValues() shouldn't return false for 'empty' strings 
> of different lengths
> ------------------------------------------------------------------------------------------------
>
>                 Key: TRINIDAD-2064
>                 URL: https://issues.apache.org/jira/browse/TRINIDAD-2064
>             Project: MyFaces Trinidad
>          Issue Type: Bug
>          Components: Components
>    Affects Versions: 2.0.0-beta-2
>         Environment: Any
>            Reporter: Mark Yvanovich
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> In UIXEditableValue.validate(), UIXEditableValue.compareValues() is called to 
> check to see if the value has changed.  Currently, if the previous value and 
> the new value are both empty (i.e. whitespace) compareValues() returns false 
> to indicate they are the same.  This, however, is not really correct.  If you 
> enter the value " " (one space) and then later try to change it to "  " (two 
> spaces) or "" (no spaces), the new value will be ignored because 
> compareValues() says that the two values are the same.
> This can be reproduced on the inputText tag demo page.  Select the contents 
> of the inputText and type in a " " (one space) to replace the current value 
> and hit submit.  Then, try to update the value to "  " (two spaces).  If you 
> look at the value attribute in the table below with firebug, you'll see that 
> the value doesn't get updated.  When using an inputText as a filter field, 
> filtering by " " (one space) or "  " (two spaces) can have different results. 
>  For this reason, we should allow for the value to be changed.
> Basically, the logic should be that if the two values are empty (I.E. 
> UIXEditableValue.isEmpty() returns true for both values) then we should check 
> the lengths to see if they are in fact different.  The one condition that we 
> need to preserve is that null and "" (no spaces, the real empty string) 
> should compare as the same (so compareValues() should return false for this 
> case).
> The current work around is that you have to submit a non-empty value and then 
> submit the desired new empty value (i.e. two spaces or no spaces, etc).

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to