Ich möchte eine einfache Validierung für mehrere Felder durchführen. Bitte beachten Sie, dass diese Felder nicht in einem mx: Form liegen, da die Art und Weise, wie sie angezeigt werden, nicht die Norm ist. Die Validierung funktioniert ordnungsgemäß, hebt jedoch den textInput mit der Fehlermeldung nicht hervor.Flex 3 StringValidator Highlight Feld
myValidator.source = empName1;
myValidator.property = "text";
if(myValidator.validate().type == ValidationResultEvent.VALID)
{
Alert.show("good");
}
...
<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" />
<mx:TextInput x="152" y="32" width="207" id="empName1"/>
Bitte beachten Sie, ich die gleiche Prüfung „MyValidator“ gegen mehrere Felder verwenden möchten, weshalb die Quelle und das Eigentum in der Actionscript-3-Code festgelegt.
Dank
Update: here eine ähnliche Funktion, die ich erstellt, das funktioniert:
private function validateField(fields:Array):Boolean
{
var rtnResult:Boolean = true;
for each(var i:Object in fields)
{
myValidator.source = i;
myValidator.property = "text";
i.validateNow();
if(myValidator.validate().type == ValidationResultEvent.INVALID)
rtnResult = false;
}
return rtnResult;
}
, die wie so genannt wird:
if(!validateField([TicketTitle,TicketDesc]))
{
Alert.show("Required fields were left blank!", "Warning");
return;
}
und die mxml Validator
<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" />