DataVerify.mxml

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:myV="myValidators.*" xmlns:local="*" creationComplete="initValidatorArray();" width="402" height="152"> 
    <mx:Script>
    <![CDATA[
        import mx.events.ValidationResultEvent;
        import mx.core.UIComponent;
        import mx.controls.Alert;
        import mx.validators.*;
        private var myValidators:Array;
        
        private function initValidatorArray():void {
            myValidators=[zipV, pnV,nameV];
        }
        //按钮事件,检测通过执行操作
        private function btnValidate_Click(event:Event):void{
            var validatorResults:Array = mx.validators.Validator.validateAll(myValidators);
            //长度为0表示所有验证通过
            if(validatorResults.length == 0){
                mx.controls.Alert.show("Validate OK!");
            }else{
                //将光标定位到第一个错误
                var v:ValidationResultEvent = validatorResults[0] as ValidationResultEvent;
                (v.target.source as UIComponent).setFocus();
            }
        }
    ]]>
    </mx:Script>
    
    <!--如果你要在验证错误提示中显示中文,使用这个改变字体大小!-->
    <mx:Style>
       .errorTip {fontFamily:"simsun"; fontSize:"12"}        
    </mx:Style>
    
    <mx:ZipCodeValidator id="zipV" source="{zipCodeInput}" property="text" requiredFieldError="邮编必须填写"/>
    <mx:PhoneNumberValidator id="pnV" source ="{phoneNumberInput}" property="text" />
    <myV:NameValidator id="nameV" source="{txtName}" property="text" requiredFieldError="不能为空"/>
    <mx:Form x="24" y="24">
        <mx:FormItem label="zip Code:" required="true">
            <mx:TextInput id="zipCodeInput"/>
        </mx:FormItem>
        <mx:FormItem label="phone Number:" required="true">
            <mx:TextInput id="phoneNumberInput"/>
        </mx:FormItem>
        <mx:FormItem label="name:" required="true">
         <mx:TextInput id="txtName"/>
        </mx:FormItem>
    </mx:Form>
    <mx:Button label="Validate" click="btnValidate_Click(event)"/> 
</mx:Application>

NameValidator.as

package myValidators
{
 import mx.controls.Text;
 import mx.validators.Validator;
    import mx.validators.ValidationResult;

 public class NameValidator extends Validator
 {
  // Define Array for the return value of doValidation().
        private var results:Array;

        public function NameValidator ()
         {
            super();
        }

        override protected function doValidation(value:Object):Array
         {
            var name:String=value as String;
            // Clear results Array.
            results = [];

            // Call base class doValidation().
            results = super.doValidation(value);        
            // Return if there are errors.
            if (results.length > 0)
                return results;

            // Check name field. 
          
            if(name!="huangxi")
            {
              results.push(new ValidationResult(true, 
                    "name", "wrongName", "Please Enter the Name 'huangxi'."));
                return results;
            }
            return results;
        }
     }
}

//
总结
1.新建自定义的NameValidator继承Validator,并重写doValidation(),将自定义的方法加入到此函数中去
2.不允许空的错误提示可用requiredFieldError属性
3.<mx:FormItem>中有required属性,设置为true则出现"*"

转载于:https://www.cnblogs.com/fishert/archive/2007/03/02/661214.html

Validator(二)自定义相关推荐

  1. Skype for business混合部署系列之二自定义拓扑信息

    Skype for business混合部署系列之二自定义拓扑信息 此次部署前端服务器共3台,后端数据库2台采用always on方式,2台SQL Server服务器已经安装完成,在这里不做文档,本章 ...

  2. Docker系列二~自定义网桥

    Docker系列二 docker自定义网桥 查看本地网络 docker network ls #查看本地所有网络[root@localhost conf.d]# docker network ls N ...

  3. jQuery.validator.addMethod 自定义验证方法

    1.$.validator.addMethod 方法自定义验证介绍 该方法可用于我们平时给<input type=" "> 指定type时使用,目的就是可以让我们自己定 ...

  4. 微信公众号的二次开发(二 自定义菜单的创建)

    在上篇<微信公众号的二次开发(一)>我们介绍了微信订阅号的一些坑, 以及微信公众平台开发的一些基本配置.下面我们继续介绍如何通过用户关注等行为.获取用户的openid. 自定义微信公众号菜 ...

  5. 基于 Spring Security 搭建用户权限系统(二) - 自定义配置

    说明 本文的目的是如何基于 Spring Security 去扩展实现一个基本的用户权限模块, 内容会覆盖到 Spring Security 常用的配置. 文中涉及到的业务代码是不完善的, 甚至会存在 ...

  6. 【Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/42611531 作者:毛星云(浅墨) ...

  7. 【Unity3D Shader编程】之七 静谧之秋篇 表面着色器的写法 二 —— 自定义光照模式

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  8. Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/42611531 作者:毛星云(浅墨) ...

  9. 【浅墨Unity3D Shader编程】之七 静谧之秋篇: 表面着色器的写法(二)—— 自定义光照模式

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/42611531 作者:毛星云(浅墨) ...

最新文章

  1. Wind River Helix系统及物联网解决方案 简化企业IOT部署
  2. TED:如何掌控你的自由时间以及让自己变得更好,这样就能看到爱情应有的样子...
  3. Codeforces Round #555 (Div. 3) AB
  4. (十一)boost库之多线程间通信
  5. 前端面试题集锦(一)之HTML部分
  6. 写一个高性能的敏感词检测组件
  7. 屏幕实战效果解析:IPS/TFT/AMOLED/SLCD
  8. 学习笔记-记ActiveMQ学习摘录与心得(二)
  9. oracle 删除重复记录
  10. RS错误RSV-VAL-0032之项目未在布局中引用的3种解决办法
  11. [JSOI2008]Blue Mary的战役地图
  12. JavaScript 中常见设计模式整理
  13. Qt窗口部件——对话框QDialog
  14. 分辨率_电视分辨率多少合适
  15. BOM物料管理在PLM系统中的应用
  16. 关于Microsoft office深色模式设置
  17. 亲密关系(二、月晕现象)
  18. tc2 怎么编写c语言6,WinTC.EXE:TC for Windows (TC2 C语言编译器)
  19. tensorflow-鸢尾花分类(神经网络)
  20. 低成本撬动TK亿万流量 TK带货视频有多简单?

热门文章

  1. 科大奥锐思考题_科大奥锐光电效应测普朗克常数
  2. java 文件crc校验_JavaCRC校验原理
  3. 猫和老鼠服务器维修有问题,猫和老鼠:游戏中大范围的断网掉线问题 玩家:土豆服务器就这样...
  4. ubuntu mysql 驱动_怎么在Ubuntu下为MySQL添加ODBC驱动?
  5. stm32官方例程在哪找_STM32开发学习资料合集
  6. Auto Encoder用于异常检测
  7. 使用CNN做电影评论的负面检测——本质上感觉和ngram或者LSTM同,因为CNN里图像检测卷积一般是3x3,而文本分类的话是直接是一维的3、4、5...
  8. 微信小程序使用fixed布局
  9. 用Java创建JMeter变量 - 终极指南
  10. FileChannel