flex中validateall()方法, 多Item验证 ,结果统一提示

<?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="initHandler(event)">

	<fx:Script>

		<![CDATA[

			import mx.controls.Alert;

			import mx.events.FlexEvent;

			import mx.events.ValidationResultEvent;

			import mx.validators.Validator;



			private var error1:String;



			private var error2:String;



			private var error3:String;

			

			protected function initHandler(event:FlexEvent):void

			{

				

			}

			

			

			protected function btn_clickHandler(event:MouseEvent):void

			{

				// TODO Auto-generated method stub

				var validateArray:Array=Validator.validateAll(

					[NAMEValidator,AGEValidator,PHONEValidator]);

				if(validateArray.length==0)

				{

					Alert.show("成功啦!");

				}else

				{

                      Alert.show(error1+"\n"+error2+"\n"+error3);

				}

			}

			

			protected function NAMEValidator_invalidHandler(event:ValidationResultEvent):void

			{

				error1 =event.message;

			}

			

			protected function AGEValidator_invalidHandler(event:ValidationResultEvent):void

			{

				error2 =event.message;

			}

			

			protected function PHONEValidator_invalidHandler(event:ValidationResultEvent):void

			{

				error3 =event.message;

			}

			

		]]>

	</fx:Script>

	<fx:Declarations>

          <mx:StringValidator id="NAMEValidator"

			    source="{username}"

			    property="text"

				minLength="6" maxLength="16"

				tooLongError="不能多于16个字符"  tooShortError="不能低于六位"

				required="true"

				invalid="NAMEValidator_invalidHandler(event)"

			  />

		<mx:NumberValidator id="AGEValidator"  source="{age}"

			domain="int" allowNegative="false" maxValue="60" minValue="18"

			required="true" property="text"

			exceedsMaxError="不能大于60" lowerThanMinError="不能低于十八"

			invalid="AGEValidator_invalidHandler(event)"

							/>

		<mx:PhoneNumberValidator id="PHONEValidator"

			 minDigits="11" property="text"

			 source="{phone}"

			 required="true"

			 invalid="PHONEValidator_invalidHandler(event)"/>

	</fx:Declarations>

	<mx:Panel>

	   <mx:Form>

	     <mx:FormItem label="name">

			 <mx:TextInput  id="username"/>

		 </mx:FormItem>

		   <mx:FormItem label="age">

			   <mx:TextInput  id="age"/>

		   </mx:FormItem>

		   <mx:FormItem label="phone">

			   <mx:TextInput id="phone"/>

		   </mx:FormItem>

		   <mx:FormItem>

		      <mx:Button label="验证" id="btn" click="btn_clickHandler(event)"/>

		   </mx:FormItem>

	   </mx:Form>

	</mx:Panel>

</s:Application>


你可能感兴趣的:(validate)