当前位置: > > > Flex4 - 自定义验证器的创建和使用

Flex4 - 自定义验证器的创建和使用

如果Flex内置的验证器无法满足需求,我们也可以自定义验证器,只需继承Validator类即可。
下面的例子是自定一个验证器,验证字符串必须以某字符串开头。

--- 自定义验证器 MyValidator.as ---
package
{
	import mx.validators.ValidationResult;
	import mx.validators.Validator;
	
	public class MyValidator extends Validator
	{
		/**
		 * 前缀
		 */
		private var _preStr:String;
		
		public function get preStr():String{
			return this._preStr;
		}
		
		public function set preStr(value:String):void{
			this._preStr = value;
		}
		
		public function MyValidator()
		{
			super();
			_preStr="";
		}
		
		override protected function doValidation(value:Object):Array{
			var results:Array = new Array();
			results = super.doValidation(value);
			
			if(results.length > 0){
				return results;
			}
			
			if(this._preStr != ""){
				if((value as String).indexOf(this._preStr) != 0){
					results.push(
						new ValidationResult(true,null,"preStrErr","字符串需要以"+this._preStr+"开头")
					);
				}
			}
			return results;
		}
	}
}

--- 使用 ---
var validator:MyValidator = new MyValidator();
validator.preStr = "yu"; //必需与yu开头
validator.source = textInput;
validator.validate(textInput.text); 
评论0