<?xml version="1.0" encoding="utf-8"?> <!-- date:2008.7.24 version:v1.0 author:zhaoyl des:验证表单并给予友好化提示 --> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" pageTitle="验证form表单" creationComplete="init()"> <mx:Script> <![CDATA[ import mx.validators.Validator; import mx.events.ValidationResultEvent; import mx.validators.ZipCodeValidatorDomainType; import mx.controls.Alert; [Bindable] private var validatorArr:Array; private function init():void { validatorArr = new Array(); validatorArr.push(name_stringValidator); validatorArr.push(address1_stringValidator); validatorArr.push(city_stringValidator); validatorArr.push(state_numberValidator); validatorArr.push(zipCode_zipCodeValidator); validatorArr.push(zipCode_stringValidator); } private function validateForm(evt:MouseEvent):void { var validatorErrorArray:Array = Validator.validateAll(validatorArr);; var isValidForm:Boolean = validatorErrorArray.length == 0; if (isValidForm) { Alert.show("员工信息填写不完整!"); } else { var err:ValidationResultEvent; var errorMessageArray:Array = []; for each (err in validatorErrorArray) { var errField:String = FormItem(err.currentTarget.source.parent).label errorMessageArray.push(errField + ": " + err.message); } Alert.show(errorMessageArray.join("\n\n"), "请按照以下错误提示信息重新填写", Alert.OK); } } private function resetForm(evt:MouseEvent):void { e_name.text =""; address1.text = ""; address2.text = ""; city.text = ""; state.selectedIndex = -1; zipCode.text = ""; } ]]> </mx:Script> <mx:XMLList id="statesXMLList"> <state label="生产中心" data="CA" /> <state label="运营中心" data="OR" /> </mx:XMLList> <mx:StringValidator id="name_stringValidator" source="{e_name}" requiredFieldError="姓名不能为空" property="text" minLength="2" /> <mx:StringValidator id="address1_stringValidator" source="{address1}" requiredFieldError="地址不能为空" property="text" minLength="2" /> <mx:StringValidator id="city_stringValidator" source="{city}" requiredFieldError="城市不能为空" property="text" minLength="2" /> <mx:NumberValidator id="state_numberValidator" source="{state}" lowerThanMinError="请选择员工所在部门" requiredFieldError="请选择部门" property="selectedIndex" minValue="0" /> <mx:ZipCodeValidator id="zipCode_zipCodeValidator" source="{zipCode}" property="text" requiredFieldError="邮政编码不能超过10位" domain="{ZipCodeValidatorDomainType.US_ONLY}" /> <mx:StringValidator id="zipCode_stringValidator" source="{zipCode}" property="text" tooShortError="邮政编码是0-9的数字" requiredFieldError="邮政编码不能为空" minLength="10" maxLength="10" /> <mx:Form> <mx:FormHeading label="员工注册" /> <mx:FormItem required="true" label="姓名"> <mx:TextInput id="e_name" maxChars="96" /> </mx:FormItem> <mx:FormItem required="true" label="地址"> <mx:TextInput id="address1" maxChars="128" /> </mx:FormItem> <mx:FormItem label="区域"> <mx:TextInput id="address2" maxChars="128" /> </mx:FormItem> <mx:FormItem required="true" label="城市"> <mx:TextInput id="city" maxChars="128" /> </mx:FormItem> <mx:FormItem required="true" label="部门"> <mx:ComboBox id="state" prompt="选择部门" selectedIndex="-1" dataProvider="{statesXMLList}" labelField="@label" /> </mx:FormItem> <mx:FormItem required="true" label="邮政编码"> <mx:TextInput id="zipCode" maxChars="10" restrict="0-9 -" /> </mx:FormItem> <mx:FormItem> <mx:HBox> <mx:Button label="注册" click="validateForm(event)" /> <mx:Button label="重置" click="resetForm(event)" /> </mx:HBox> </mx:FormItem> </mx:Form> </mx:Application>
验证form表单
猜你喜欢
转载自pczhuce-126-com.iteye.com/blog/1754548
今日推荐
周排行