flex-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Justin Mclean (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (FLEX-24223) Validation on ListBase, triggerEvent IndexChangeEvent.CHANGE, leaves the ErrorSkin a step behind errorString
Date Fri, 10 May 2013 00:47:15 GMT

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

Justin Mclean updated FLEX-24223:
---------------------------------

    Labels: easytest  (was: )
    
> Validation on ListBase, triggerEvent IndexChangeEvent.CHANGE, leaves the ErrorSkin a
step behind errorString
> ------------------------------------------------------------------------------------------------------------
>
>                 Key: FLEX-24223
>                 URL: https://issues.apache.org/jira/browse/FLEX-24223
>             Project: Apache Flex
>          Issue Type: Bug
>          Components: Spark: List
>    Affects Versions: Adobe Flex SDK 4.0 (Release)
>         Environment: Affected OS(s): All OS Platforms
> Affected OS(s): All OS Platforms
> Browser: Other (specify version)
> Language Found: English
>            Reporter: Adobe JIRA
>              Labels: easytest
>
> If you add a validator to check that a ListBase has a selectedIndex, or has selectedIndices
(you need a custom validator) and use IndexChangeEvent.CHANGE as the trigger event the ErrorSkin
is always a step behind the errorString property.
> For instance if you validating a selectedIndex you can use a NumberValidator making sure
that the value isn't negative.
> If you validate the ListBase with no selectedIndex is shows an error as you would expect,
if you then select an item, the triggerEvent fires and the ListBase is validated again. This
time it will pass the validation and the errorString will be set to "", but the ErrorSkin
still shows due to the invalidation process and commitProperties no running again immediately
when the errorString has been set. Clicking on another item in the ListBase will then remove
the ErrorSkin as should have happened previously.
> If the selectedItem is now deselected, the errorString is set to a value, but no ErrorSkin
is displayed, again due to commitProperties no being ran.
> Workarounds are to extend the components you want to validate and handle the errorString
yourself (i.e. ButtonBar, List etc..), or to call invalidateProperties a frame later (using
callLater) from inside the validator, meaning commitProperties is ran and the errorString
is handled correctly.
> Using ButtonBars/Lists in forms that require validation is something that should be quite
common. For instance it's much easier to use a ButtonBar or List to lay out and managed 20
RadioButtons using a RadioButtonItemRenderer, or I have a MultipleSelectionButtonBar class
that the same also applies for CheckBoxItemRenderers.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message