as3.0验证的类包为mx.Validators.包中有一个基类Validator,其他的类都为其子类
1.绑定验证对象
2.验证器的触发时机
1.绑定验证对象 :
Validator有两个主要属性
source:表示验证的对象(比如验证一个文本框,它的ID为phoneInput,则soure属性应绑定这个对象.
source="{phoneInput}"
property:表示验证对象的属性(一个对象有很多属性,但你未指定验证哪一项,TextInput有一个text属性,就是我们的输入文本.所以表示验证的数据为text)
例子:
//因为是自定义的验证器(继承Validator)所以要导入类
import com.common.util.IntegerDataValidator;
//添加验证器
private var validators:Array = new Array();
//在函数里面新创建一个验证器,并设置属性
var intValidator:IntegerDataValidator = new IntegerDataValidator(arr[i].s3);
intValidator.source = value;
intValidator.property = "text";
intValidator.required = false; //表示数据可以为空
intValidator.invalidFormat = "不是正整数";
intValidator.outOfRangeFormat = "数值不在指定的范围";
validators.push(intValidator);
//调用验证器,验证相关输入框
if(Validator.validateAll(validators).length != 0){
AlertUtil.AlertShow("请将红框内的信息填写规范!","信息提示",Alert.OK, this,null,1);
return false;
}
//另外验证器也可以这样创建(不管是系统自带的验证器还是自定义的验证器)
domain="int"
minValue="0"
maxValue="100"
lowerThanMinError="不及格数过少!"
exceedsMaxError="不及格数过多!"
integerError="不及格数必须是整数!"
invalidCharError='输入了非数字字符!'
required="true"
/>
domain="int"
minValue="0"
maxValue="20"
lowerThanMinError="不及格数过少!"
exceedsMaxError="不及格数过多!"
integerError="不及格数必须是整数!"
invalidCharError='输入了非数字字符!'
required="false"
/>
2.验证器的触发时机:
默认的情况下,Flex当我们切换组件焦点的时候检测任意动作触发验证有两种Flex验证方式。一种是在验证组件中指明触发器和触发动作
就是设置trigger属性和triggerEvent属性:下例是要点击提交按钮才开始验证
"nameV" source="{nameTI}" property="text"
requiredFieldError="必须输入姓名!"
trigger="{btn}" triggerEvent="click"/>
"btn" label="提交"/>
阅读(2433) | 评论(0) | 转发(0) |