简单的一个验证:
<mx:Script>
<![CDATA[
import flash.utils.setTimeout;
import mx.validators.Validator;
private function submit(e : MouseEvent) : void
{
var valiArr : Array = Validator.validateAll([valiTest]);
if( valiArr.length != 0 )
{
var me : MouseEvent = new MouseEvent( MouseEvent.MOUSE_OVER );
me.localX = e.localX;
me.localY = e.localX;
txtTest.dispatchEvent( me );
return;
}
//e.preventDefault();
//txtTest.text = "";
setTimeout( function clear() : void
{
txtTest.text = "";
},1000);
}
]]>
</mx:Script>
<mx:VBox paddingTop="50">
<mx:TextInput id="txtTest"/>
<mx:Button id="btnTest" click="submit( event )" />
</mx:VBox>
<mx:StringValidator
id="valiTest"
required="true"
trigger="{btnTest}"
triggerEvent="click"
source="{txtTest}"
property="text" />
实现验证设置上面的属性即可(trigger="{btnTest}",triggerEvent="click" 只是设置点击按钮btnTest的时候所要验证的对象txtTest边框红色显示 )
检测验证可以Validator.validateAll([valiTest]); 判断返回的数组是否为空即可,当然还可以用函数valiTest.validate() 以检测返回的的事件ValidationResultEvent的类型来判断是否通过验证
如:
var ve : ValidationResultEvent = valiTest.validate( txtTest.text );
if( ve.type != ValidationResultEvent.VALID )
{
trace("验证失败");
}
上面的 me : MouseEvent 是为了验证失败的时候 不需要鼠标经过文本框,自动显示错误信息.