`
truelove12358
  • 浏览: 77616 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

FLEX实践—动态应用Validator验证多组数据

 
阅读更多

本文中以DateValidator为例,首先介绍一下传统的DateValidator用法

<mx:DateValidator id="dateValidator" source="test" formatError="Format error, should be 'YYYY-MM-DD'"/>

<mx:DateField id="test" formatString='YYYY-MM-DD'/>

这种验证方法只适用与一对一,当我们希望只定义一个DateValidator来验证一组DateField时该方法就无能为力了。

下面的代码将介绍如果解决这一问题。

代码:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
layout="absolute">
<mx:Script>
<![CDATA[
import mx.validators.DateValidator;
import mx.events.ItemClickEvent;
import mx.events.ValidationResultEvent;
import mx.validators.ValidationResult;
import mx.controls.Alert;

var testObject:Object=new Object();

private function showDate():void
{
Alert.show(dateFormatter.format(test.selectedDate));
}

private function validateDate(event:FocusEvent, name:String):void
{

if(event.target.text){
dateValidator.source=event.target;
if (dateValidator.validate().type == ValidationResultEvent.INVALID)
Alert.show(name+": "+(DateValidator.validateDate(dateValidator,event.target.text,

new Date().toDateString())[0] as ValidationResult).errorMessage);
else
resultDate.text=dateFormatter.format((testObject['date']));
}

}
]]>
</mx:Script>

<mx:DateValidator id="dateValidator"
formatError="Incorrect formatting string,should be 'YYYY-MM-DD'."
inputFormat="YYYY-MM-DD"
property="text"/>

<mx:DateFormatter id="dateFormatter"
formatString="YYYY-MM-DD"/>
<mx:DateField x="427"
y="168"
id="test"
width="220"
formatString="YYYY-MM-DD"
toolTip="{test.selectedDate}"
editable="true"
change="{testObject['date']=DateField(event.target).selectedDate}"
focusOut="validateDate(event,'DATE')"/>
<mx:Button x="427"
y="258"
label="Show Date"
click="showDate()"/>
<mx:DateField x="427"
y="198"
width="220"
formatString="YYYY-MM-DD"
toolTip="{test.selectedDate}"
editable="true"
change="{testObject['date']=DateField(event.target).selectedDate}"
focusOut="validateDate(event,'DATE1')"/>
<mx:TextInput x="427"
y="228"
width="220"
id="resultDate"/>
<mx:Label x="384" y="170" text="DATE:"/>
<mx:Label x="381" y="200" text="DATE1:"/>
<mx:Label x="374" y="230" text="RESULT:"/>

</mx:Application>

private function sumbit():void
{
//验证信息输入
var addValidators:Array = [sqrValid,sqlyValid,shsjValid,shrValid,syddValid,syrValid,qysjValid];
var error:Array = Validator.validateAll(addValidators);
if(error.length > 0) {
focusManager.setFocus(error[0].target.source);
Alert.okLabel = "确认";
Alert.show(error[0].target.requiredFieldError,"提示",Alert.OK,this.parent as Sprite);
return;
}

分享到:
评论

相关推荐

    Flex from_validator_表单验证

    本教程将详细讲解"Flex from_validator_表单验证"的相关知识点,帮助你理解和掌握表单验证的基本流程和处理方法。 一、表单验证简介 表单验证主要在用户填写并提交表单时进行,通过验证用户的输入,防止无效数据或...

    flex form 验证(转)

    在Flex开发中,表单验证是一项关键任务,它确保用户输入的...通过对`FormValidator.as`、`test2.mxml`和`Test.mxml`的深入研究,开发者可以掌握如何在Flex项目中有效地实施表单验证,提高应用的用户体验和数据质量。

    构建Flex自动验证框架

    标题中的“构建Flex自动验证框架”指的是在Flex应用程序开发中创建一个自动化验证系统。Flex是一种基于ActionScript的开源框架,用于构建富互联网应用程序(RIA)。自动验证框架是开发者用来确保用户输入数据有效性...

    flex自动验证组建(插件)

    Flex自动验证组件是一种在Flex应用开发中用于数据验证的强大工具,它可以帮助开发者确保用户输入的数据符合预设的规则和格式。这些验证组件是基于Adobe Flex框架的Validator功能,能够为表单字段提供实时或提交时的...

    flex----组件---数据验证类

    本篇文章将深入探讨Flex中的组件以及数据验证类,帮助你更好地理解和应用这些概念。 首先,Flex组件是构建用户界面的基本单元,它们可以是按钮、文本框、列表等可视化元素。在Flex中,组件主要由MXML和ActionScript...

    flex数据绑定

    Flex数据绑定是Adobe Flex应用程序开发中的核心特性,它允许开发者将UI组件的属性与应用程序的数据模型进行连接,实现数据的动态更新和可视化。在Flex中,数据绑定是一种声明性编程方式,极大地简化了用户界面与业务...

    (十五)Flex4_格式化与校验器

    通过查看FlexGrocer的源代码,我们可以深入理解Flex4中格式化和验证的实践方法,学习如何在MXML和ActionScript之间进行交互,以及如何利用Flex的验证框架来增强用户体验和数据安全性。 在实际开发中,良好的格式化...

    郑岩峰,幻想Flex3,源代码6

    在Flex应用中,验证是非常重要的一环,它确保用户输入的数据符合预设的规则,例如电子邮件格式、数字范围等。通过Validator类,开发者可以轻松地添加验证逻辑到表单组件上,提高用户体验并减少错误。 在Flex3中,你...

    Flex入门教程[汇编].pdf

    5. 实现数据绑定和验证,包括使用BindingUtils类、Validator类和Form类等。 6. 使用Flex Builder开发工具,包括创建新项目、设计用户界面、编写代码和调试应用程序等。 此外,本教程还涵盖了一些高级话题,例如: ...

    Wrox.Professional.Adobe.Flex.2.May.2007

    深入探讨Flex组件的属性系统,包括数据绑定、动态属性和属性监听器等。通过掌握这些技术,可以更灵活地控制组件的状态和行为。 #### 第14章 - Flex Components(Flex组件) 本章将回顾Flex提供的标准组件库,包括...

    辛普

    Symfony对多语言应用有很好的支持,提供了国际化(i18n)和本地化(l10n)功能,方便开发者构建适应不同地区和文化的网站。 8. **广泛的社区与生态系统** Symfony拥有庞大的开发者社区和丰富的第三方库,如...

Global site tag (gtag.js) - Google Analytics