`
zhaoyl
  • 浏览: 217489 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

flex中验证表单项目合法性并给予友好提示

阅读更多

 

 

 

 

代码如下 :

 

 

<?xml version="1.0" encoding="utf-8"?>
<!--
date:2008.7.24
version:v1.0
author:zhaoyl
des:验证表单并给予友好化提示

-->
<mx:Application xmlns:mx="
http://www.adobe.com/2006/mxml"
    layout="vertical"
    verticalAlign="middle"
    backgroundColor="white"
    pageTitle="验证form表单"
    creationComplete="init()">

    <mx:Script>
        <![CDATA[
            import mx.validators.Validator;
            import mx.events.ValidationResultEvent;
            import mx.validators.ZipCodeValidatorDomainType;
            import mx.controls.Alert;

            [Bindable]
            private var validatorArr:Array;

            private function init():void
            {
                validatorArr = new Array();
                validatorArr.push(name_stringValidator);
                validatorArr.push(address1_stringValidator);
                validatorArr.push(city_stringValidator);
                validatorArr.push(state_numberValidator);
                validatorArr.push(zipCode_zipCodeValidator);
                validatorArr.push(zipCode_stringValidator);
            }

            private function validateForm(evt:MouseEvent):void {
                var validatorErrorArray:Array = Validator.validateAll(validatorArr);;
                var isValidForm:Boolean = validatorErrorArray.length == 0;
                if (isValidForm) {
                    Alert.show("员工信息填写不完整!");
                } else {
                    var err:ValidationResultEvent;
                    var errorMessageArray:Array = [];
                    for each (err in validatorErrorArray) {
                        var errField:String = FormItem(err.currentTarget.source.parent).label
                        errorMessageArray.push(errField + ": " + err.message);
                    }
                    Alert.show(errorMessageArray.join("\n\n"), "请按照以下错误提示信息重新填写", Alert.OK);
                }
            }

            private function resetForm(evt:MouseEvent):void
            {
                e_name.text ="";
                address1.text = "";
                address2.text = "";
                city.text = "";
                state.selectedIndex = -1;
                zipCode.text = "";
            }
        ]]>
    </mx:Script>

    <mx:XMLList id="statesXMLList">
        <state label="生产中心" data="CA" />
        <state label="运营中心" data="OR" />
    </mx:XMLList>

    <mx:StringValidator id="name_stringValidator"
        source="{e_name}"
        requiredFieldError="姓名不能为空"
        property="text"
        minLength="2" />

    <mx:StringValidator id="address1_stringValidator"
        source="{address1}"
        requiredFieldError="地址不能为空"
        property="text"
        minLength="2" />

    <mx:StringValidator id="city_stringValidator"
        source="{city}"
        requiredFieldError="城市不能为空"       
        property="text"
        minLength="2" />

    <mx:NumberValidator id="state_numberValidator"
        source="{state}"
        lowerThanMinError="请选择员工所在部门"
        requiredFieldError="请选择部门"       
        property="selectedIndex"
        minValue="0" />

    <mx:ZipCodeValidator id="zipCode_zipCodeValidator"
        source="{zipCode}"
        property="text"
        requiredFieldError="邮政编码不能超过10位"
        domain="{ZipCodeValidatorDomainType.US_ONLY}"  />

    <mx:StringValidator id="zipCode_stringValidator"
        source="{zipCode}"
        property="text"
        tooShortError="邮政编码是0-9的数字"
        requiredFieldError="邮政编码不能为空"
        minLength="10" maxLength="10" />

    <mx:Form>
        <mx:FormHeading label="员工注册" />
        <mx:FormItem required="true" label="姓名">
            <mx:TextInput id="e_name" maxChars="96" />
        </mx:FormItem>
        <mx:FormItem required="true" label="地址">
            <mx:TextInput id="address1" maxChars="128" />
        </mx:FormItem>
        <mx:FormItem label="区域">
            <mx:TextInput id="address2" maxChars="128" />
        </mx:FormItem>
        <mx:FormItem required="true" label="城市">
            <mx:TextInput id="city" maxChars="128" />
        </mx:FormItem>
        <mx:FormItem required="true" label="部门">
            <mx:ComboBox id="state" prompt="选择部门" selectedIndex="-1" dataProvider="{statesXMLList}" labelField="@label" />
        </mx:FormItem>
        <mx:FormItem required="true" label="邮政编码">
            <mx:TextInput id="zipCode" maxChars="10" restrict="0-9 -" />
        </mx:FormItem>
        <mx:FormItem>
            <mx:HBox>
                <mx:Button label="注册" click="validateForm(event)" />
                <mx:Button label="重置" click="resetForm(event)" />
            </mx:HBox>
        </mx:FormItem>
    </mx:Form>

</mx:Application>

 

 

 

分享到:
评论

相关推荐

    flex 表单数据合法性验证

    在Flex开发中,表单数据合法性验证是至关重要的一步,它确保用户输入的数据符合应用程序的预期格式和规则,从而防止无效数据的提交,提高用户体验,减少服务器端的压力。本篇文章将深入探讨Flex中如何实现表单数据的...

    flex客户表单范本

    9. **错误提示**:当用户输入不合法时,Flex表单能显示错误信息,指导用户修正问题。 10. **国际化支持**:Flex客户表单范本可轻松支持多语言环境,方便全球用户的使用。 在“FileTransfer”这个文件名中,我们...

    Flex做的登录表单

    在本文中,我们将深入探讨使用Flex构建登录表单的相关知识点。 1. **Flex基础**: Flex提供了MXML和ActionScript 3.0两种主要的编程语言,MXML是一种声明式语言,主要用于UI组件的布局和配置,而ActionScript 3.0...

    Flex实例,form表单

    1. 点击工具栏上的“Run”按钮或按F11,Flex Builder会编译项目并在内置的浏览器中打开一个预览窗口,显示你刚刚创建的表单。 2. 在预览窗口中,你可以输入数据并点击“提交”按钮,看看`submitForm()`函数是否按...

    Flex 开发的表单

    Flex 开发的表单 资产负债表,如有需要请留言。

    FlexForm表单设计器

    6. **表单验证**:内置了多种验证规则,如非空验证、长度验证、格式验证等,确保用户输入的有效性。 7. **容器操作**:可以添加、删除、移动和组织表单内的容器,如面板、表格等,帮助用户更好地组织表单结构。 8....

    flex动态表单源码

    为了更深入地理解Flex动态表单,可以参考Adobe官方文档、Flex SDK的API参考、在线教程和开源项目。此外,通过阅读和分析开源的Flex动态表单源码,可以直观地看到如何实现上述功能。 总之,Flex动态表单提供了灵活的...

    Flex from_validator_表单验证

    在IT行业中,表单验证是前端开发中必不可少的一部分,它确保用户输入的数据符合特定的规则和格式,从而保证数据的准确性和安全性。本教程将详细讲解"Flex from_validator_表单验证"的相关知识点,帮助你理解和掌握...

    flex验证框架

    Flex验证框架是一个专门为Flex应用程序设计的验证解决方案,它主要用于确保用户在交互过程中输入的数据符合预设的规则和标准。在Flex开发中,特别是在构建企业级应用时,数据验证是必不可少的,因为它能防止无效或不...

    新建Flex+Java的WEB项目

    在构建一个基于Flex和Java的Web项目时,我们需要掌握几个关键知识点。Flex是一种用于创建富互联网应用程序(RIA)的开放源代码框架,它主要用于构建交互性强、用户界面丰富的客户端应用。而Java则作为后端服务器端的...

    flex form 验证(转)

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

    Flex表单校验组件

    总的来说,Flex表单校验组件是Flex开发中不可或缺的一部分,它极大地简化了前端数据验证的复杂性,提升了应用的质量和用户体验。通过熟练掌握这款组件,开发者可以更高效地构建健壮、用户友好的Web应用程序。在实际...

    flex实战项目,flex开发

    在Flex项目中,开发者可能会使用Flex的组件库来创建类似的应用界面,并通过ActionScript处理数据和业务逻辑。 通过这个"Flex实战项目",开发者不仅可以深入了解Flex框架,还能锻炼实际项目开发的能力,包括UI设计、...

    flex 智能提示框

    在Flex中,通过使用ActionScript,开发者可以构建具有高度交互性和动态功能的应用程序。 Flex控件中的智能提示功能通常通过组合多个组件和编程技巧来实现。核心组件可能包括`TextInput`或`SearchBox`,它们负责接收...

    Flex文本框自动提示

    这种功能在各种应用程序中非常常见,如搜索引擎、在线表单和数据输入界面,可以显著提高用户输入的效率和准确性。 首先,我们要了解Flex的基础。Flex是一个开源的开发框架,主要用于构建富互联网应用程序(Rich ...

    我的第一个flex项目

    在Flex Builder中,选择“新建”&gt;“Flex项目”,为项目命名,例如“我的第一个flex项目”。选择合适的Flex SDK版本,并确定项目的保存位置。创建完成后,你会看到一个基本的MXML文件,这是Flex应用的主要构建块。 ...

    构建Flex自动验证框架

    2. **事件驱动**:Flex验证过程通常基于事件,如ValueChangeEvent,当用户输入变化时触发验证。开发者可以监听这些事件并在事件处理函数中执行验证逻辑。 3. **表单验证**:在Flex中,可以使用Form或FormItem组件来...

    Flex手机项目代码

    综上所述,Flex手机项目代码是一个综合性的实例,涵盖了数据绑定、组件创建、参数传递、用户身份验证等多个关键概念,是学习和理解Flex移动应用开发的一个实用案例。开发者可以通过分析这个项目,深入理解Flex框架的...

    flex自动验证组建(插件)

    Flex验证组件的核心在于`Validator`类,它允许开发者定义验证规则,并在用户输入发生变化或表单提交时执行这些规则。验证规则可以包括但不限于检查数据类型(如数字、日期等)、数据范围(最小值和最大值)、字符串...

    Flex 验证器简介

    为了确保所有输入都是合法的,我们需要使用Flex验证器来进行数据验证。 - **MXML代码示例**:上述部分已经给出了一段简单的MXML代码,展示了如何构建这个表单以及如何为每个输入框添加验证器。 - **验证逻辑实现**...

Global site tag (gtag.js) - Google Analytics