简单的一个验证:
<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  是为了验证失败的时候 不需要鼠标经过文本框,自动显示错误信息.

posted on 2008-08-27 12:32  Tiny4X  阅读(313)  评论(0编辑  收藏  举报