Chinaunix首页 | 论坛 | 博客
  • 博客访问: 601488
  • 博文数量: 96
  • 博客积分: 1464
  • 博客等级: 上尉
  • 技术积分: 1539
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-12 23:24
文章分类

全部博文(96)

文章存档

2013年(29)

2012年(53)

2011年(14)

分类: Web开发

2013-01-20 17:05:33

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="提交"/>  


flex验证器触发时间:kaidi0314.iteye.com/blog/1316224


阅读(2396) | 评论(0) | 转发(0) |
0

上一篇:java多线程 学习

下一篇:flex自定义验证器

给主人留下些什么吧!~~