使用Validator.validateAll验证Form

<?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">
	<s:layout>
		<s:BasicLayout/>
	</s:layout>

	<fx:Script>
		<!--[CDATA[
			import mx.validators.Validator;
			import mx.controls.Alert;
			protected function validatorForm():void
			{
				var vArray:Array = Validator.validateAll([v1,v2,v3]);
				if(vArray.length==0)
				{
					Alert.show("正确");
				}
				else
				{
					Alert.show("出现错误");
				}
				
			}
		]]-->
	</fx:Script>

	<fx:Declarations>
		<!-- 将非可视元素(例如服务、值对象)放在此处 -->
		<mx:StringValidator id="v1" source="{required}" property="text" required="true" triggerEvent="" requiredFieldError="必须填写" />
		<mx:NumberValidator id="v2" source="{number}" property="text" required="false" triggerEvent="" invalidCharError="必须为数字" />
		<mx:EmailValidator id="v3" source="{email}" property="text" required="false" triggerEvent="" invalidCharError="邮件格式错误" />
	</fx:Declarations>
	<mx:Form x="6" y="10" width="400" height="500">
		<mx:FormHeading label="使用全部验证的例子"/>
		<mx:FormItem label="必填">
			<s:TextInput id="required" />
		</mx:FormItem>
		<mx:FormItem label="数字">
			<s:TextInput id="number"/>
		</mx:FormItem>
		<mx:FormItem label="邮件">
			<s:TextInput id="email"/>
		</mx:FormItem>
		<mx:FormItem>
			<s:Button label="验证" click="validatorForm()"/>
		</mx:FormItem>
	</mx:Form>


</s:Application>
posted @ 2011-02-28 18:16  xngeer  阅读(3402)  评论(0编辑  收藏  举报