0

TextInputを使用して Flex を検証したいと思いStringValidatorます。私はこれを次のように行うことができることを発見しました:

<mx:StringValidator source="{myTextInput}"
                    property="text"
                    triggerEvent="{TextEvent.TEXT_INPUT}"/>

textInput ただし、 eventだけでなくfocusOutイベントでもテキストを検証したいと思います。

                    triggerEvent="{FocusEvent.FOCUS_OUT}"
                    triggerEvent="{TextEvent.TEXT_INPUT}"/>

ただし、triggerEventこのように 2 回再定義することは違法です。StringValidator複数の異なるイベントに基づいてトリガーすることは可能ですか?

4

4 に答える 4

1

次のようなことを試してください:

mxml コード

    <mx:StringValidator source="{myTextInput}" property="text"
        triggerEvent="validateInput"/>

    <mx:TextInput id="myTextInput" 
             textInput="inputEvent(event)" 
             focusOut="inputEvent(event)"/>

ハンドラ

    private function inputEvent(event:*):void {
     dispatchEvent(new Event("validateInput"));
}

その他のバリエーション

ハンドラ

    private function inputEvent(event:*):void {             
    myValidator.validate();
}

mxml

    <mx:StringValidator id="myValidator" source="{myTextInput}" property="text"/>
于 2013-10-08T13:46:00.620 に答える
0

TextEvent.TEXT_INPUT はバックスペースを検出せず、キー イベントを削除します。代わりに Event.CHANGE を使用してください。

于 2015-12-21T16:38:31.473 に答える