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);