ビュースタックにビューを持つFlex3アプリがあり、そのビューは要求された場合にのみ作成する必要があります。ビューの各コントロールのバリデーターを宣言し、Validator.validateAll()を実行するcheckAllValid()というメソッドを作成しました。これは、実際にコントロールを使用している場合(changeイベントまたはfocusOutイベントを使用している場合)はうまく機能しますが、ビューが最初にユーザーに表示されたときにcheckAllValid()を実行して、一度無効なものがすぐに表示されるようにするにはどうすればよいですか?データはコントロールに入力されていますか?
ビュー自体のさまざまなイベント(creationComplete、updateComplete、show、activateなど)で呼び出しを実行しようとしましたが、アプリケーションを起動すると常に次のエラーが表示されます。
'プロパティ属性を指定する場合は、ソース属性を指定する必要があります。
ビューのcreationPolicyを「all」に設定しようとしましたが、これは役に立ちません。
一部のバリデーターは、フォームが特定の状態にある場合にのみ有効になりますが、この最も単純なものを除くすべてのバリデーターをコメントアウトすることで、潜在的な問題としてそれを排除しました。
<mx:Array id="validators"><mx:StringValidator id="val_Address1" source="{Address1}" property="text" required="true" triggerEvent=""/></mx:Array>
checkAllValid()メソッドは次のように単純です。
private function checkAllValid():void{
var validationErrors: Array = Validator.validateAll(validators);
}
また、validateAllを使用するのではなく、単一のバリデーターを直接呼び出してみましたが、結果は同じです。
助けてください!ビューが表示されたときにビューを強制的に検証できる方法が必要です。
(ちなみに、それはCairngorm MVCフレームワークにあり、データはコントロールにバインドされています)