flex中的验证

 
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
			   xmlns:s="library://ns.adobe.com/flex/spark" 
			   xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600"
			   creationComplete="this.txt_uname.setFocus();"
			   defaultButton="{val_but}"
			   >
	<fx:Style>
		@namespace s "library://ns.adobe.com/flex/spark";
		@namespace mx "library://ns.adobe.com/flex/mx";
		.errorTip{
			font-size:14px;
			color: red;
		}
		mx|FormItem {
			font-size:14px;
		}
	</fx:Style>
	<s:layout>
		<s:BasicLayout/>
	</s:layout>
	<fx:Script>
		<![CDATA[
			import mx.controls.Alert;
			import mx.events.ValidationResultEvent;
			import mx.validators.Validator;
			protected function button1_clickHandler(event:MouseEvent):void
			{
				var d1:Number =  Date.parse(txt_df1.selectedDate);
				var d2:Number =  Date.parse(txt_df2.selectedDate);
				if(d1 >= d2) {
					Alert.show("结束日期必须大于开始日期");
				}
			}
			
			function doDcdate(date:Date):void{
				txt_uname.text = "当前时间: " + date.getFullYear() + "年" + (date.getMonth()+1) + "月" + date.getDate()+"日";
			}

			protected function v1_validHandler(event:ValidationResultEvent):void
			{
				//Alert.show("成功");
			}


			protected function v1_invalidHandler(event:ValidationResultEvent):void
			{
				//Alert.show("失败");
			}


			protected function val_but_clickHandler(event:MouseEvent):void
			{
				var errorArr:Array = Validator.validateAll([v1, v2]);
				if(errorArr.length > 0) {
					Alert.show("表单信息输入有误!");
				}
			}

		]]>
	</fx:Script>

	<fx:Declarations>
		<!-- 
			source: 对那个输入控件验证
			property="text": 对text属性内容验证
			trigger: 指定执行的触发控件(通常是按钮)
			triggerEvent: 接受触发类型(事件)
			required: 非空
			valid: 事件,在验证成功后自动触发
			inValid: 事件,在验证失败后自动触发
		-->
		<mx:StringValidator id="v1" source="{txt_uname}" property="text"
							trigger="{val_but}" triggerEvent="click"
							required="true" maxLength="6" requiredFieldError="用户名必须填写,嘿嘿!"
							valid="v1_validHandler(event)" invalid="v1_invalidHandler(event)"/>
		<mx:EmailValidator id="v2" source="{txt_uemail}" property="text"
						   trigger="{val_but}" triggerEvent="click" required="true" />
	</fx:Declarations>
	<mx:Form>
		<mx:FormItem label="用户名" required="true">
			<s:TextInput  id="txt_uname"/>
		</mx:FormItem> 
		<mx:FormItem label="密码">
			<s:TextInput  id="txt_upwd" displayAsPassword="true"/>
		</mx:FormItem>
		<mx:FormItem label="email">
			<s:TextInput  id="txt_uemail"/>
		</mx:FormItem>
		<mx:FormItem label="日历控件">
			<mx:DateField id="txt_df1" formatString="YYYY-MM-DD" width="200"/>
		</mx:FormItem>
		<mx:FormItem label="日历控件">
			<mx:DateField id="txt_df2" formatString="YYYY-MM-DD" width="200"/>
		</mx:FormItem>
		<mx:FormItem label="日历控件">
			<mx:DateChooser id="txt_dc" change="doDcdate(this.txt_dc.selectedDate)"/>
		</mx:FormItem>
		<s:Group>
			<s:layout>
				<s:HorizontalLayout/>
			</s:layout>
			<s:Button label="比较日期" click="button1_clickHandler(event)"/>
			<s:Button label="验证" id="val_but" click="val_but_clickHandler(event)"/>
		</s:Group>
	</mx:Form>
	
</s:Application>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Flex的正则表达式可以通过RegExp类来实现。例如,要匹配一个邮箱地址,可以使用以下代码: ``` var email:String = "[email protected]"; var pattern:RegExp = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/; if(pattern.test(email)){ trace("Valid email address"); }else{ trace("Invalid email address"); } ``` 上述代码,pattern变量存储了一个正则表达式,用于匹配邮箱地址。test()方法用于测试字符串是否匹配该正则表达式。 对于多个文本框的验证,可以使用RegExpValidator类。该类可以对多个文本框进行验证,并且可以自定义错误消息。以下是一个示例: ``` <mx:TextInput id="emailInput" /> <mx:TextInput id="passwordInput" /> <mx:RegExpValidator source="{emailInput}" property="text" expression="^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$" required="true" requiredFieldError="Email is required" invalidError="Invalid email address" /> <mx:RegExpValidator source="{passwordInput}" property="text" expression="^[a-zA-Z0-9]{6,}$" required="true" requiredFieldError="Password is required" invalidError="Password must be at least 6 characters long" /> ``` 上述代码,RegExpValidator类用于验证emailInput和passwordInput两个文本框的内容。expression属性用于指定正则表达式,required属性用于指定是否必填,requiredFieldError属性用于指定必填错误消息,invalidError属性用于指定非法输入错误消息。使用该类可以方便地对多个文本框进行验证

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值