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>