Ich habe eine Flex 3-App mit einer Ansicht in einem Viewstack, und diese Ansicht muss nur erstellt werden, wenn angefordert. Ich habe Validatoren für jedes Steuerelement in der Ansicht deklariert und ich habe eine Methode namens checkAllValid() erstellt, die Validator.validateAll() ausführt. Das funktioniert großartig, wenn ich die Steuerelemente tatsächlich verwende (mit den Ereignissen change oder focusOut), aber wie kann checkAllValid() ausgeführt werden, wenn die Ansicht dem Benutzer zum ersten Mal angezeigt wird, so dass sofort angezeigt wird, was einmal ungültig ist Die Daten sind in den Steuerelementen enthalten?Wie erzwinge Flex-Validierung, wenn ein Container angezeigt wird
Ich habe versucht, auf der Ansicht, um den Anruf an verschiedenen Veranstaltungen setzen sich (zB creationComplete-, update, show, aktiviert, etc.), aber es zeigt immer die folgende Fehlermeldung, wenn ich die Anwendung zu starten:
‚The Das Quellenattribut muss angegeben werden, wenn das Eigenschaftsattribut angegeben wird. '
Ich habe auch versucht, die creationPolicy auf die Sicht auf "alle" zu setzen, aber das hilft nicht.
Einige der Validatoren sind nur dann aktiviert, wenn das Formular in einem bestimmten Zustand ist, aber ich habe beseitigt, dass wie durch Kommentare aus allen meinen Validierer mit Ausnahme dieses einfachsten das potenzielle Problem ist eines:
<mx:Array id="validators"><mx:StringValidator id="val_Address1" source="{Address1}" property="text" required="true" triggerEvent=""/></mx:Array>
die checkAllValid() Methode so einfach ist wie folgt:
private function checkAllValid():void{
var validationErrors: Array = Validator.validateAll(validators);
}
ich auch versucht haben, direkt mit dem einzigen Validator Aufruf anstatt validateAll und das Ergebnis ist das gleiche.
Bitte helfen! Es muss einen Weg geben ich die Ansicht zwingen kann, zu überprüfen, wenn es angezeigt wird ....
(übrigens in seiner Cairngorm MVC-Framework und I-Daten zu den Kontrollen gebunden haben)