使用格式器和验证器

在Flex框架下,可以用验证器在客户端检查数据而不用把数据提交到服务器,此种做法减少了客户端和服务器之间的数据传输量,所以提升了应用程序的性能。当然,最好由服务器执行某些安全数据的验证... ...

1、 介绍格式器和验证器
所有的验证器都是Validator的派生类,Flex框架包括下列可用的验证器具:
CreditCardValidator
DateValidator
EmailValidator
NumberValidator
PhoneNumberValidator
SocialSecurityValidator
StringValidator
ZipCodeValidator
你可能经常会需要执行内置验证器能力所不及的数据验证,这时可以使用Flex中Validator类的功能来构建自定义验证器。

Flex包括如下一些可用的格式器:
mx.formatters.CurrencyFormatter;
mx.formatters.DateFormatter
mx.formatters.NumberFormatter
mx.formatters.PhoneFomatter
mx.formatters.ZipCodeFormatter

2、 使用格式器:
A/
<mx:CurrencyFormatter id="currFormat"
currencySymbol="$" precision="2"/>

<mx:Label id="price"
text = "{currFormat.format(xxx)}"/>

B/
<mx:DateFormatter id="dateFormat"/>
<mx:Label text="{dateFormat.format(xxx)}" formatString="YYYY/MM/DD"/>


3、 使用验证器
<mx:ZipCodeValidator id="zipV" source="xxx"
property="text" domain="US or Canada ... "/>

<mx:TextInput id="xxx"/>

判断验证效果时可以使用ValidationResultEvent, 判断其type属性是否为VALID
如:
private var vResult:ValidationResultEvent;
if(vResult.type==ValidationResultEvent.VALID){xxxx;}


4、 使用正则表达式来验证数据
正则表达式是老熟人了, 举出我使用过的两种方式
注意: .在正则表达式中表示一个合法字符, 双斜杠\\用于表示转义
用法一:
var pattern:RegExp = new RegExp(".\\.[Gg][Ii][Ff]");
if(xxx.imageName.search(pattern)!=-1){//表示匹配成功}

用法二:
var pattern:RegExp = /^.\.[Gg][Ii][Ff]$/;
var result:Object = pattern.exec(xxx.imageName);
if(result!=null){//表示匹配成功}


5、 构建自定义验证器类
使用验证器类,可以为用户显示出错的位置,同时显示自定义的错误信息。Flex框架提供了扩展验证器类和添加程序功能的能力。

示例:

public class AddressValidator extends Validator{
private var results:Array;

public AddressValidator(){
super();
}
}

override protected function doValidation(value:Object):Array{
results = [];
results = super.doValidator(value);
if(value!=null){
var pattern:RegExp = new RegExp("xxx");
if(value.serach(pattern!=-1){
results.push(new ValidationResult(true,null,"xxx","xxx");
}
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值