首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 媒体动画 > flex >

Flex4表单应验

2012-10-10 
Flex4表单验证这里主要讲Combox的验证。其他几个略带说说。??Combox的AS代码:package oreilly.cookbook{impo

Flex4表单验证

这里主要讲Combox的验证。其他几个略带说说。

?

?

Combox的AS代码:

package oreilly.cookbook{import mx.validators.ValidationResult;import mx.validators.Validator;public class ComboValidator extends Validator{// 如果ComboBox中没有项目被选中, 则返回这个错误信息public var error:String;//如果开发者把一个自定义的项目推进ComboBox的数组中(这种情况我见过不少)//我们就会把这个项跟已选取的项进行对比。public var prompt:String;public function ComboValidator() {super();}//在这里我们进行两个检查://1. comboBox中有没有项目被选中//2. 开发者有没有为comboBox加入自定义的项目//任何一个条件为ture的话, 则返回一个错误override protected function doValidation(value:Object):Array{var results:Array = [];if(value as String == prompt || value == null) {var res:ValidationResult = new ValidationResult(true, "", "", error);results.push(res);}return results;}}}

?

主程序MXML

<?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"   xmlns:cookbook="oreilly.cookbook.*"><s:layout><s:HorizontalLayout verticalAlign="middle" horizontalAlign="center" /></s:layout><fx:Style>  @namespace s "library://ns.adobe.com/flex/spark";   @namespace mx "library://ns.adobe.com/flex/mx";   .errorTip   {   fontSize:16;   }    mx|Alert{   fontSize:16;   }   </fx:Style><fx:Script><![CDATA[import mx.collections.ArrayCollection;import mx.controls.Alert;import mx.events.ValidationResultEvent;import mx.validators.Validator;var data:ArrayCollection = new ArrayCollection(["省份","地区","邮编","区号"]) ;//单独验证某一项function validateAge():void{var vd:ValidationResultEvent=numVD.validate();}//执行所有验证的验证function vaidateForm():void{var all:Array=Validator.validateAll([numVD,dateVD,emailVD,comboValidator]);if(all.length==0){Alert.show("验证成功");//这里可以发送请求进行表单提交任务}}//NumberValidator中要么使用triggerEvent='click'不用调用任何方法,要么就triggerEven="",在textInput中调用validate方法]]></fx:Script><fx:Declarations><cookbook:ComboValidator prompt="myCombox" id="comboValidator" error="请选择一项"    source="{myCombox}" property="selectedItem"/>  <mx:NumberValidator id="numVD" source="{age}" property="text" integerError="Enter Integer value"minValue="18" maxValue="50" domain="int" trigger="{myButton}" triggerEvent=""valid="Alert.show('numValidation Succeeded!');"/><mx:DateValidator id="dateVD" source="{mydate}" property="text" allowedFormatChars="/"   trigger="{myButton}" triggerEvent="click"   valid="Alert.show('Validation Succeeded!');"/><mx:EmailValidator id="emailVD" source="{email}" triggerEvent="" property="text"/></fx:Declarations><s:Panel title="NumberValidator Example" width="600" height="100%" color="0x000000"  borderAlpha="0.15" ><mx:Form color="0x323232"><mx:FormItem label="address"><s:ComboBox id="myCombox" height="40" width="100%" fontSize="18" dataProvider="{data}"/></mx:FormItem><mx:FormItem label="age"><s:TextInput id="age" height="40" width="100%" fontSize="18"/></mx:FormItem><mx:FormItem label="date【mm/dd/yyyy】"><s:TextInput id="mydate" height="40" width="100%" fontSize="18"/></mx:FormItem><mx:FormItem label="email"><s:TextInput id="email" height="40" width="100%" fontSize="18"/></mx:FormItem><mx:FormItem ><s:Button id="myButton" label="Validate" click="vaidateForm()" /></mx:FormItem></mx:Form></s:Panel></s:Application>

?

热点排行