我想对多个字段执行简单的验证。请注意,这些字段不在 mx:Form 中,因为它们的显示方式不是标准的。验证工作正常,但是,它不会突出显示带有错误消息的 textInput。
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"/>
请注意,我想对多个字段使用相同的验证器“myValidator”,这就是在 actionscript 3 代码中设置源和属性的原因。
谢谢
更新: 这是我创建的一个类似的功能:
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;
}
像这样调用:
if(!validateField([TicketTitle,TicketDesc]))
{
Alert.show("Required fields were left blank!", "Warning");
return;
}
和 mxml 验证器
<mx:StringValidator id="myValidator" required="true" minLength="1" requiredFieldError="This field is required" />