重写flex的validator类来限制文本输入
来源:互联网 发布:c语言中实参和形参 编辑:程序博客网 时间:2024/05/17 02:45
AS3虽然自带很多种类的validator,但是对于我们来说功能还是太少了.所以这时候不可避免就是要重写这个类,写出适合自己的validator类。
首先,假设有一个textinput,id名为userInput;一个button,id名为submit_Btn。例如以下代码:
<mx:TextInput id="selUser" width="100%"/>
<mx:Button id="bt_submit" />
<mx:Button id="bt_submit" />
新建一个floder,用于存放即将新建的class,新建一个personValidator的AS3 class文件
public class personValidator extends Validator
...{
private var results:Array;
//构造方法继承父类
public function personValidator()
...{
super();
}
//重写doValidation方法,在其内可以写入自己想要的规则,很明显这里是根据select再判断具体person的情况
override protected function doValidation(value:Object):Array
...{
var person:String = String(value.person);
var select : Boolean = Boolean(value.select);
//clear the array
results = ;
//首先做一下父类的方法
results = super.doValidation(value);
if(results.length>0)
...{
return results;
}
//这里开始就是你自己的方法了
if(select)
...{
if(person == "" || person == null)
...{
results.push(new ValidationResult(true, "person", "noPersonName",
"輸入框内不能為空."));
return results;
}
}
return results;
}
}
...{
private var results:Array;
//构造方法继承父类
public function personValidator()
...{
super();
}
//重写doValidation方法,在其内可以写入自己想要的规则,很明显这里是根据select再判断具体person的情况
override protected function doValidation(value:Object):Array
...{
var person:String = String(value.person);
var select : Boolean = Boolean(value.select);
//clear the array
results = ;
//首先做一下父类的方法
results = super.doValidation(value);
if(results.length>0)
...{
return results;
}
//这里开始就是你自己的方法了
if(select)
...{
if(person == "" || person == null)
...{
results.push(new ValidationResult(true, "person", "noPersonName",
"輸入框内不能為空."));
return results;
}
}
return results;
}
}
保存后,到前台页面文件中,添加此类,如:
<mx:Model id="selectUserXml">
<types>
<type>
<person>{selUser.text}</person>
<select>{toParameter.selected}</select>
</type>
</types>
</mx:Model>
<model:personValidator id="perVal" source="{selectUserXml}" property="type"
trigger="{bt_submit}" triggerEvent="click" listener="{selUser}"
valid="setNextOwnerResult()"/>
<types>
<type>
<person>{selUser.text}</person>
<select>{toParameter.selected}</select>
</type>
</types>
</mx:Model>
<model:personValidator id="perVal" source="{selectUserXml}" property="type"
trigger="{bt_submit}" triggerEvent="click" listener="{selUser}"
valid="setNextOwnerResult()"/>
source:绑定的数据源,property:数据源中的节点名称,trigger:触发此validator的组件,triggerEvent:组件的事件,listener:此validator所监视的组件,valid:验证通过后执行的方法。
上面建立的model为一个保存数据的XML最后传入validator的value,当然你可以采取其他方式来保存。
- 重写flex的validator类来限制文本输入
- 利用javascript来限制文本的一些文本输入限制
- 设置Flex的TextInput输入限制
- flex的Validator类验证表单
- 限制文本域textarea的输入长度
- 实现文本域输入字数的限制
- Flex restrict 输入限制
- 文本限制输入
- 文本限制输入
- 文本输入限制
- 文本输入限制
- 文本限制输入
- DataGridView限制文本输入
- 限制文本输入
- 文本限制输入
- qt中的lineEdit文本输入框的输入类型限制(三种验证类)
- qt中的lineEdit文本输入框的输入类型限制(三种验证类)
- qt中的lineEdit文本输入框的输入类型限制(三种验证类)
- 浙大ACM1006
- asp.net2.0密码强度验证
- asp.net2.0新特点
- Linux 下获取LAN中指定IP的网卡的MAC(物理地址)
- javascript 右键菜单
- 重写flex的validator类来限制文本输入
- 不同页面之间传值除了Cookie,Session之外,还可以使用页面的上下文对象
- 导出到word文档--带有表格
- 一款轻量级的桌面WebServer通讯组件
- javascript 右键菜单 (续)
- 调用WebSerivice 添加web引用
- VegaGIS2007年测评情况
- Linux那些事儿 之 戏说USB(10)好戏开始了
- struts+dao+hibernate模式