| 首页 | 新闻 | 网页 | 设计 | 色彩 | 原创 | 视觉 | 素材 | 动漫 | 酷站 | 策划 | 文案 | 访谈 | 运营 | 编程 | 数据库 | 服务器 | 下载 | 图库 | 
您的位置: 幽幽天空 > 网页 > 网页制作 > Flash教程 > ActionScript教程 > 文章正文 用户登录
网络营销之google
如何加入透明Flas
为新浪博客添加fl
Google质疑艾瑞报
google使用技巧
Google Adsense改
王通:Google应该
Google真的那么容
Google 广告联盟
flashget下载联盟

在flex实现数据验证(1)           

在flex实现数据验证(1)

作者:佚名 来源:不详 更新:2007-1-13 20:36:39 错误报告 我要投稿
  数据验证是表单永远的话题,可能大家想也没想过,在flash中居然也会有验证控件,简单的如同asp.ner的验证控件.下面我们一起来体验一下.
as3.0验证的类包为mx.Validators.包中有一个基类Validator,其他的类都为其子类
1.绑定验证对象
1.Validator有两个主要属性
source:表示验证的对象(比如验证一个文本框,它的ID为phoneInput,则soure属性应绑定这个对象.
source="{phoneInput}" 
property:表示验证对象的属性(一个对象有很多属性,但你未指定验证哪一项,TextInput有一个text属性,就是我们的输入文本.所以表示验证的数据为text)

可能大家还是喜欢看效果,下面来看一个简单的例子,还是拿帮助文件的例子来讲
PhoneNumberValidator为一个验证电话号码的控件
代码一
<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">  
 <!-- Define the PhoneNumberValidator. --> 
 <mx:PhoneNumberValidator id="pnV" source="{phoneInput}" property="text"/> 
 <!-- Define the TextInput control for entering the phone number. --> 
 <mx:TextInput id="phoneInput"/> 
 <mx:TextInput id="zipCodeInput"/> 
</mx:Application>  
下面试一下效果吧
先把鼠标放在第一个文本框上,然后鼠标移出,会发现文本眶颜色变为红色,表明验证未通过.再次将鼠标移到文本眶上如果文本没有输入任何文字的话,会出现默认提示(this field is required),表明此项为必填,如果验证结果与输入不符合的话会出现默认错误提示(your telephone number must contain at least 10 dights)

如果你不喜欢使用标签的话,你也可以以编程的方式来实现以上效果,当然如果简单验证的话,用标签就够了.以下使用编程实现验证
示例二 
<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">  
<mx:Script> 
 <![CDATA[ 
 // Import PhoneNumberValidator. 
 import mx.validators.PhoneNumberValidator; 
 // Create the validator. 
 private var v:PhoneNumberValidator = new PhoneNumberValidator(); 
 private function createValidator():void { 
 // Configure the validator.  
 v.source = phoneInput; 
 v.property = "text"; 
 } 
 ]]> 
 </mx:Script>  
 <!-- Define the TextInput control for entering the phone number. --> 
 <mx:TextInput id="phoneInput" creationComplete="createValidator();"/> 
 <mx:TextInput id="zipCodeInput"/> 
</mx:Application> 
2.使用按钮触发验证
第一个例子虽然实现了验证,但感觉验证的功能是可有可无的,当我们把鼠标移到文本眶上再移出才出发验证.如果我们预先不把鼠标移到文本眶上,这个验证就算无效了.我们可以利用按钮检查验证是否通过.如果验证未通过则文本眶显红色.
Validator还有两个属性
trigger:表示触发验证事件的对象
triggerEvent:表示对象触发验证事件的时机(如click,mouseOver等) 
了解以上两个属性的话就可以解决第一个例子的问题了.看以下代码
<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">  
 <!-- Define the PhoneNumberValidator. --> 
 <mx:PhoneNumberValidator id="pnV" source="{phoneInput}" property="text" 
 trigger="{btn}" triggerEvent="click" /> 
 <!-- Define the TextInput control for entering the phone number. --> 
 <mx:TextInput id="phoneInput"/> 
 <mx:Button label="Button" id="btn"/> 
</mx:Application> 
试一下效果吧,现在你可以不用先把鼠标移动到文本眶上,直接点击按钮,你将发现文本眶显红色.现在你该明白了吧.

3.修改默认提示错误
验证控件在默认情况下已经给出默认的提示错误,我们看E文肯定不爽,可否修改默认提示?当然可以.
Validator基类有一个requiredFieldError属性 表示必填项没填入数据的时的提示错误信息
然后呢每个验证控件都有自己不同的验证机制,属性也不相同,如PhoneNumberValidator有一个属性
wrongLengthError:表示输入的数据阿拉伯数字长度小于10时提示的错误信息
invalidCharError:表示输入数据不是阿拉伯数字时提示的错误信息
了解上面两个属性后,再看看效果 
<?xml version="1.0"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">  
 <!-- Define the PhoneNumberValidator. --> 
 <mx:PhoneNumberValidator id="pnV" source="{phoneInput}" property="text" 
 trigger="{btn}" triggerEvent="click" 
 requiredFieldError="此项为必填" invalidCharError="请输入阿拉伯数字" wrongLengthError="请至少输入请输入10个阿拉伯数字" /> 
 <!-- Define the TextInput control for entering the phone number. --> 
 <mx:TextInput id="phoneInput"/> 
 <mx:Button label="Button" id="btn"/> 
</mx:Application>  

好了,最简单的讲完了.介绍了三个功能,其实也就学习几个属性而已,不知道大家感不感兴趣,当然还有其他验证,并没这么简单,有时间再跟大家分享.上面讲的三点你学会了吗? 
文章录入:skyuu    责任编辑:skyuu 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    发表评论:
    姓名:  评 分: 1分 2分 3分 4分 5分
     
  • 严禁发表危害国家安全、政治、黄色淫秽等内容的评论。
  • 用户需对自己在使用幽幽天空服务过程中的行为承担法律责任。
  • 本站管理员有权保留或删除评论内容。
  • 评论内容只代表机友个人观点,与本网站立场无关。