Sto provando ad usare un NumberValidator per validare un numero decimale. Il codice che posto qui sotto è volutamente semplice, giusto di esempio, per mostrare la questione:

codice:
<?xml version="1.0" encoding="iso-8859-1" ?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">

    <mx:NumberValidator source="{valueFrom}" property="text" domain="real"
                        trigger="{valueFrom}" triggerEvent="enter" />

    <mx:Panel title="Test" height="100%" width="100%"
              paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">

        <mx:TextInput id="valueFrom" valid="valueTo.text=valueFrom.text" invalid="valueTo.text=''" />
        <mx:TextInput id="valueTo" editable="false" />

    </mx:Panel>
</mx:Application>
Quando premo INVIO sul campo valueFrom dovrebbe essere eseguita la validazione. Se il numero è corretto dovrebbe essere generato l'evento valid e quindi il codice dovrebbe copiare il valore nel TextInput sotto. Se il numero è errato dovrebbe cancellare il campo sotto (e evidenziare l'errore visualmente) a seguito dell'evento invalid.

Ma si comporta in un modo direi "strano" e che non capisco. Se subito digito 12 INVIO (un numero corretto), il numero non viene copiato sotto. Bisogna prima sbagliare es. mettere 12abc INVIO, a quel punto il campo sotto viene cancellato e viene evidenziato l'errore. Se subito dopo correggo in 12 poi INVIO, allora il valore lo copia sotto.
E la cosa continua così ... cioè numeri corretti non li accetta più e devo di nuovo sbagliare.

Insomma ... bisogna prima sbagliare per poter successivamente avere l'input valido e quindi fare la copia nel campo sotto con quella assegnazione.

Non capisco il perché .... ma è molto probabile che o non ho capito come funziona un NumberValidator o non l'ho usato nel modo corretto.

Suggerimenti? Grazie.