Flex 的验证控件及其在动态生成页面情况下的使用
来源:互联网 发布:免费淘宝客推广软件 编辑:程序博客网 时间:2024/06/04 07:58
Flex的mx.validators包中包含了用于数据验证的类。在这里提供了字符串验证类、日期验证类、数字验证类、邮箱验证类、电话号码验证类以及正则表达式验证类等等。利用它可以较方便实现Flex前段验证。
在表单中事先建立一个Validator数组,存储验证各类信息的验证类,而后将这些验证类分别指定到要验证的控件上,其后调用所有验证类的基类Validator的validateAll方法验证所有控件信息。
如下展示了验证类的数组形式:
<mx:Array id="validators"> <mx:StringValidator id="title_v" source="{title_input}" property="text" required="true" maxLength="500" tooLongError="最大长度为500" trigger="{update_Btn}" triggerEvent="click"/> <mx:RegExpValidator id="keyword_regV" expression="{'^[\\S\u4e00-\u9fa5]*(\\s[\\S\u4e00-\u9fa5]+)*$'}" source="{keyword_input}" property="text" required="false" trigger="{update_Btn}" triggerEvent="click" noMatchError="多个关键词之间以一个空格符分隔"/> <mx:DateValidator id="editDate_v" source="{editDate_date}" property="text" required="true" inputFormat="YYYY-MM-DD" trigger="{update_Btn}" triggerEvent="click"/> <mx:NumberValidator id="pages_v" source="{pages_num}" property="value" required="true" allowNegative="false" domain="int" trigger="{update_Btn}" triggerEvent="click"/></mx:Array>
这些验证控件分别对应验证不同控件信息,如下所示:
<mx:Canvas width="100%" height="65%" verticalScrollPolicy="auto"> <mx:Form><mx:FormItem label=""> <mx:TextInput id="title_input" text=""/> </mx:FormItem><mx:FormItem label=""> <mx:TextInput id="keyword_input" text="" /> </mx:FormItem><mx:FormItem label=" " required="true"> <mx:DateField id="editDate_date" text="" yearNavigationEnabled="true" formatString="YYYY-MM-DD" /> </mx:FormItem><mx:FormItem label=" " required="true"> <mx:NumericStepper id="pages_num" value="" maximum="999" minimum="0"/> </mx:FormItem> </mx:Form> </mx:Canvas>
<mx:Button id="update_Btn" label="" click="validate()"/>
上述验证类通过source属性绑定到待验证的控件id,从而进行验证,验证过程只需要调用基类的validateAll即可完成全部验证。上述验证类已通过trigger 属性指定了触发验证的按钮及相应事件,在按钮相应的click方法(validate())里调用Validator.validateAll(validators)即可完成验证,它返回每个验证控件的验证结果数组(数组中包含ValidationResultEvent,如果全部验证正确的话,则数组为空)。
在表现层,一些需求其界面元素是静态的,另一些则要求能够动态构建表单。而flex的mxml中也可以由actionScript脚本完成一些动态实现。例如这种验证是的,我们可以在mxml中预设一下验证类的数组,和数据控件的载体,也可以完全动态创建,此次预先放置,仅展示动态利用验证控件验证。
首先要定义一个数组 <mx:Array id="validators"></mx:Array>而后定义数据控件的容器<mx:Canvas width="100%" height="65%" verticalScrollPolicy="auto"> <mx:Form id="dynamicForm"> </mx:Form></mx:Canvas>最后在as脚本中动态创建数据控件和验证类var df:DateField = new DateField();df.text =””;df.yearNavigationEnabled = true;df.formatString = "YYYY-MM-DD";df.id = "date_";//建立验证var dv:DateValidator = new DateValidator();dv.source = df;dv.property = "text";dv.inputFormat = "YYYY-MM-DD";dv.trigger = update_Btn;dv.triggerEvent = "click";validators.push(dv);
做为富客户端的表现技术,flex同样可静可动,同样提供了大批的组件或框架,例如验证框架,而这也是学习每种视图技术要理解和归纳的部分,要明白如何利用它的各类组件以及静动两个方向学一下其使用。
- Flex 的验证控件及其在动态生成页面情况下的使用
- 在使用RegularExpressionValidator验证控件时的验证功能及其验证表达式
- 动态form无法验证问题。在弹出层的情况下同样可以验证
- Flex FileReference 在Firefox 浏览器情况下的异常情况
- Flex FileReference 在Firefox 浏览器情况下的异常情况
- Yii:如何在CGridView列表控件使用了Ajax方式更新数据的情况下返回前一个页面
- 如何在页面状态禁止的情况下维持控件的状态?
- ScriptX控件如何在不跳转页面的情况下将要打印的内容打印出来
- ScriptX控件如何在不跳转页面的情况下将要打印的内容打印出来
- ScriptX控件如何在不跳转页面的情况下将要打印的内容打印出来
- ASP.NET动态生成输入页面,以及生成控件的大小控制,输入数据的验证等
- 在页面控件TextBox禁用的情况下将文本字体颜色变为黑色
- Flex StringValidator with multiple input components | 多输入控件下验证器的使用
- flex的常用验证控件
- 在不对控件类型进行硬编码的情况下在 Visual C# .NET 中动态添加控件
- Silverlight 在页面上动态生成控件
- 在没有文档的情况下使用CView及其派生类
- (转)如何在没有文档的情况下使用CView及其派生类
- 忘记MySQL root密码解决方法,基于Ubuntu 12.04 LTS
- 使用DBMS_LOCK控制程序并发
- struts2诡异错误之No result defined for input
- 1.LinQ初体验 简单的示例(转载)
- HDU 4268
- Flex 的验证控件及其在动态生成页面情况下的使用
- uC/GUI+STM32(原创)
- 数据挖掘相关
- 设置系统的语言
- VIM常用技巧
- apk破解攻略
- Linux内核学习:kmalloc
- zoj2411-Link Link Look(WA)
- 开源中国在线工具