[
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