Flex4 - 自定义验证器的创建和使用
作者:hangge | 2015-02-03 14:44
如果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)