flex验证控件

Validator 类是所有 Flex 验证程序的基类。此类实现使验证程序生成必填字段的功能,必填字段是指用户必须在该字段中输入值,否则验证会失败。

 

mx.validators
Classpublic class Validator
继承Validator  EventDispatcher  Object
ImplementsIMXMLObject
SubclassesCreditCardValidator, CurrencyValidator, DateValidator, EmailValidator, NumberValidator, PhoneNumberValidator, RegExpValidator, SocialSecurityValidator, StringValidator, ZipCodeValidator

 

 

MXML 语法

<mx:Validator
    enabled="true|false"
    listener="Value of the source property"
    property="No default"
    required="true|false"
    requiredFieldError="This field is required."
    source="No default"
    trigger="Value of the source property"
    triggerEvent="valueCommit"
  />(可以查看action script3.0的api http://livedocs.adobe.com/flex/3_cn/mx/validators/Validator.html

 

1、Validator.mxml 

<? xml version="1.0" encoding="utf-8" ?>

<!--
    各种验证控件的基类 Validator 的 Demo,其可用于必填验证
-->

< mx:Panel  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute"  width ="400"  height ="300"
    title
="Validator - Validator (其他验证器的基类,可用于必填验证)" >
    
    
< mx:Validator  id ="validator"  
        source
="{txtInput}"  property ="text"  
        required
="true"  requiredFieldError ="请输入必填字段"
        trigger
="{btnSubmit}"  triggerEvent ="click"
    
/>
        
    
< mx:Form >
        
< mx:FormItem  label ="必填字段: " >
            
< mx:TextInput  id ="txtInput" />
        
</ mx:FormItem >
        
< mx:FormItem  >
            
< mx:Button  id ="btnSubmit"  label ="验证"   />
        
</ mx:FormItem >
    
</ mx:Form >
    
</ mx:Panel >


2、DateValidator.mxml

<? xml version="1.0" encoding="utf-8" ?>

<!--
    应用日期验证控件的 Demo
-->

< mx:Panel  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute"  width ="400"  height ="300"
    title
="Validator - DateValidator (日期验证)" >

    
< mx:DateValidator  source ="{txtDate}"  property ="text"
        required
="true"  requiredFieldError ="请输入日期"  
        allowedFormatChars
="-"  inputFormat ="YYYY-MM-DD"  
        trigger
="{btnSubmit}"  triggerEvent ="click"  
        valid
="mx.controls.Alert.show('验证成功');"
        invalid
="mx.controls.Alert.show('验证失败');"  
        wrongDayError
="日输入错误"
        wrongMonthError
="月输入错误"
        wrongYearError
="年输入错误"
        wrongLengthError
="日期长度错误"
        invalidCharError
="日期分隔符错误"
        formatError
="inputFormat 配置错误"
    
/>
        
     
< mx:Form >
        
< mx:FormItem  label ="日期(格式 yyyy-MM-dd): " >
            
< mx:TextInput  id ="txtDate" />
        
</ mx:FormItem >
        
< mx:FormItem  >
            
< mx:Button  id ="btnSubmit"  label ="验证"   />
        
</ mx:FormItem >
    
</ mx:Form >
    
</ mx:Panel >


3、EmailValidator.mxml

<? xml version="1.0" encoding="utf-8" ?>

<!--
    应用 Email 验证控件的 Demo

-->
< mx:Panel  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute"  width ="400"  height ="300"
    title
="Validator - EmailValidator (Email验证)" >
    
    
< mx:EmailValidator  id ="emailValidator"  source ="{txtEmail}"  property ="text"
        missingAtSignError
="缺少@"  
           valid
="mx.controls.Alert.show('验证成功');"
    
/>
       
    
< mx:Form >
        
< mx:FormItem  label ="Email: " >
            
< mx:TextInput  id ="txtEmail" />
        
</ mx:FormItem >
        
< mx:FormItem  >
            
< mx:Button  id ="btnSubmit"  label ="验证"  click ="emailValidator.validate();"   />
        
</ mx:FormItem >
    
</ mx:Form >
    
</ mx:Panel >


4、RegExpValidator.mxml

<? xml version="1.0" encoding="utf-8" ?>

<!--
    应用正则表达式验证控件的 Demo
-->

< mx:Panel  xmlns:mx ="http://www.adobe.com/2006/mxml"  layout ="absolute"  width ="400"  height ="300"
    title
="Validator - RegExpValidator (正则表达式验证)" >
    
    
< mx:Script >
        
<![CDATA[
        
            import mx.events.ValidationResultEvent;
            import mx.validators.*;
            import mx.controls.Alert;
            
            private function handleResult(e:ValidationResultEvent):void
            {
                if (e.type == ValidationResultEvent.VALID)
                {
                    Alert.show("验证成功");
                }
            }
            
        
]]>
    
</ mx:Script >
    
    
< mx:RegExpValidator  id ="regExpValidator"  
        source
="{txtInput}"  property ="text"  
        flags
="g,i"  expression ="^[a-z]+$"  
        valid
="handleResult(event)"  invalid ="handleResult(event)"
        trigger
="{btnSubmit}"  triggerEvent ="click"
        noMatchError
="请输入正确的英文字母"
        required
="false"
    
/>
        
    
< mx:Form >
        
< mx:FormItem  label ="请输入英文字母: " >
            
< mx:TextInput  id ="txtInput" />
        
</ mx:FormItem >
        
< mx:FormItem  >
            
< mx:Button  id ="btnSubmit"  label ="验证"   />
        
</ mx:FormItem >
    
</ mx:Form >
    
</ mx:Panel >
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值