现在的位置: 首页 > 综合 > 正文

Validator(一)

2013年05月22日 ⁄ 综合 ⁄ 共 2037字 ⁄ 字号 评论关闭
使用Validator的一个例子
//////////////////////////
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"  xmlns:local="*" creationComplete="initValidatorArray();" width="402" height="152"> 
    
<mx:Script>
    
<![CDATA[
        import mx.events.ValidationResultEvent;
        import mx.core.UIComponent;
        import mx.controls.Alert;
        import mx.validators.*;
        private var myValidators:Array;
        
        private function initValidatorArray():void {
            myValidators=[zipV, pnV];
        }
        //按钮事件,检测通过执行操作
        private function btnValidate_Click(event:Event):void{
            var validatorResults:Array = mx.validators.Validator.validateAll(myValidators);
            //长度为0表示所有验证通过
            if(validatorResults.length == 0){
                mx.controls.Alert.show("Validate OK!";
            }else{
                //将光标定位到第一个错误
                var v:ValidationResultEvent = validatorResults[0] as ValidationResultEvent;
                (v.target.source as UIComponent).setFocus();
            }
        }
    
]]>
    
</mx:Script>

    
    
<!--如果你要在验证错误提示中显示中文,使用这个改变字体大小!-->
    
<mx:Style>
       .errorTip {fontFamily:"simsun"; fontSize:"12"}        
    
</mx:Style>
    
    
<mx:ZipCodeValidator id="zipV" source="{zipCodeInput}" property="text" requiredFieldError="邮编必须填写"/>
    
<mx:PhoneNumberValidator id="pnV" source ="{phoneNumberInput}" property="text" />
    
<mx:Form x="24" y="24">
        
<mx:FormItem label="zip Code:" required="true">
            
<mx:TextInput id="zipCodeInput"/>
        
</mx:FormItem>
        
<mx:FormItem label="phone Number:" required="true">
            
<mx:TextInput id="phoneNumberInput"/>
        
</mx:FormItem>
    
</mx:Form>
    
<mx:Button label="Validate" click="btnValidate_Click(event)"/> 
</mx:Application>

/////////////////
总结
1.使用Validator的好处是可以将对输入的校验绑定到控件上,避免程序逻辑上的混乱
2.多个Validator可以集中处理,            myValidators=[zipV, pnV];
                  //将校验的错误结果放在Array中
                  var validatorResults:Array = mx.validators.Validator.validateAll(myValidators);
3.修改ErrorTip样式 

抱歉!评论已关闭.