DataVerify.mxml

Validator(二)自定义<?xml version="1.0"?>
Validator(二)自定义
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:myV="myValidators.*" xmlns:local="*" creationComplete="initValidatorArray();" width="402" height="152"> 
Validator(二)自定义    
<mx:Script>
Validator(二)自定义    
<![CDATA[
Validator(二)自定义        import mx.events.ValidationResultEvent;
Validator(二)自定义        import mx.core.UIComponent;
Validator(二)自定义        import mx.controls.Alert;
Validator(二)自定义        import mx.validators.*;
Validator(二)自定义        private var myValidators:Array;
Validator(二)自定义        
Validator(二)自定义        private function initValidatorArray():void {
Validator(二)自定义            myValidators=[zipV, pnV,nameV];
Validator(二)自定义        }
Validator(二)自定义        //按钮事件,检测通过执行操作
Validator(二)自定义        private function btnValidate_Click(event:Event):void{
Validator(二)自定义            var validatorResults:Array = mx.validators.Validator.validateAll(myValidators);
Validator(二)自定义            //长度为0表示所有验证通过
Validator(二)自定义            if(validatorResults.length == 0){
Validator(二)自定义                mx.controls.Alert.show("Validate OK!");
Validator(二)自定义            }else{
Validator(二)自定义                //将光标定位到第一个错误
Validator(二)自定义                var v:ValidationResultEvent = validatorResults[0] as ValidationResultEvent;
Validator(二)自定义                (v.target.source as UIComponent).setFocus();
Validator(二)自定义            }
Validator(二)自定义        }
Validator(二)自定义    
]]>
Validator(二)自定义    
</mx:Script>
Validator(二)自定义    
Validator(二)自定义    
<!--如果你要在验证错误提示中显示中文,使用这个改变字体大小!-->
Validator(二)自定义    
<mx:Style>
Validator(二)自定义       .errorTip {fontFamily:"simsun"; fontSize:"12"}        
Validator(二)自定义    
</mx:Style>
Validator(二)自定义    
Validator(二)自定义    
<mx:ZipCodeValidator id="zipV" source="{zipCodeInput}" property="text" requiredFieldError="邮编必须填写"/>
Validator(二)自定义    
<mx:PhoneNumberValidator id="pnV" source ="{phoneNumberInput}" property="text" />
Validator(二)自定义    
<myV:NameValidator id="nameV" source="{txtName}" property="text" requiredFieldError="不能为空"/>
Validator(二)自定义    
<mx:Form x="24" y="24">
Validator(二)自定义        
<mx:FormItem label="zip Code:" required="true">
Validator(二)自定义            
<mx:TextInput id="zipCodeInput"/>
Validator(二)自定义        
</mx:FormItem>
Validator(二)自定义        
<mx:FormItem label="phone Number:" required="true">
Validator(二)自定义            
<mx:TextInput id="phoneNumberInput"/>
Validator(二)自定义        
</mx:FormItem>
Validator(二)自定义        
<mx:FormItem label="name:" required="true">
Validator(二)自定义         
<mx:TextInput id="txtName"/>
Validator(二)自定义        
</mx:FormItem>
Validator(二)自定义    
</mx:Form>
Validator(二)自定义    
<mx:Button label="Validate" click="btnValidate_Click(event)"/> 
Validator(二)自定义
</mx:Application>
Validator(二)自定义



NameValidator.as

Validator(二)自定义package myValidators
Validator(二)自定义{
Validator(二)自定义 import mx.controls.Text;
Validator(二)自定义 import mx.validators.Validator;
Validator(二)自定义    import mx.validators.ValidationResult;
Validator(二)自定义
Validator(二)自定义 public class NameValidator extends Validator
Validator(二)自定义 {
Validator(二)自定义  // Define Array for the return value of doValidation().
Validator(二)自定义        private var results:Array;
Validator(二)自定义
Validator(二)自定义        public function NameValidator ()
Validator(二)自定义         {
Validator(二)自定义            super();
Validator(二)自定义        }
Validator(二)自定义
Validator(二)自定义        override protected function doValidation(value:Object):Array
Validator(二)自定义         {
Validator(二)自定义            var name:String=value as String;
Validator(二)自定义            // Clear results Array.
Validator(二)自定义            results = [];
Validator(二)自定义
Validator(二)自定义            // Call base class doValidation().
Validator(二)自定义            results = super.doValidation(value);        
Validator(二)自定义            // Return if there are errors.
Validator(二)自定义            if (results.length > 0)
Validator(二)自定义                return results;
Validator(二)自定义
Validator(二)自定义            // Check name field. 
Validator(二)自定义          
Validator(二)自定义            if(name!="huangxi")
Validator(二)自定义            {
Validator(二)自定义              results.push(new ValidationResult(true, 
Validator(二)自定义                    "name", "wrongName", "Please Enter the Name 'huangxi'."));
Validator(二)自定义                return results;
Validator(二)自定义            }
Validator(二)自定义            return results;
Validator(二)自定义        }
Validator(二)自定义     }
Validator(二)自定义}
Validator(二)自定义
Validator(二)自定义

 

//////////////////////////////////
总结
1.新建自定义的NameValidator继承Validator,并重写doValidation(),将自定义的方法加入到此函数中去
2.不允许空的错误提示可用requiredFieldError属性
3.<mx:FormItem>中有required属性,设置为true则出现"*"

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-11-03
  • 2021-07-12
  • 2021-10-11
  • 2021-05-21
  • 2021-08-21
  • 2022-02-10
猜你喜欢
  • 2021-05-22
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-24
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案