Mega Code Archive

 
Categories / Flex / Components
 

Validate form data with ActionScript

<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="550" height="300">   <mx:Script>            import mx.controls.Alert;       import mx.events.ValidationResultEvent;       private var validator:ValidationResultEvent;                    private function validate():void{         var isValid:Boolean=true;         if(!this.validateDataModel()){           isValid=false;         }         Alert.show("Results = "+isValid,"Validation");       }       private function validateDataModel():Boolean{         var isValid:Boolean = true;         validator = fNameValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = addressValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = cityValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = stateValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = zipValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = emailValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }         validator = phoneValidator.validate();         if(validator.type == ValidationResultEvent.INVALID){           isValid = false;         }           return isValid;           }      </mx:Script>   <mx:Model id="contactmodel">     <contact>       <fname>{fnametxt.text}</fname>       <address>{addresstxt.text}</address>       <city>{citytxt.text}</city>       <state>{statetxt.text}</state>       <zip>{ziptxt.text}</zip>       <phone>{phonetxt.text}</phone>       <email>{emailtxt.text}</email>     </contact>   </mx:Model>   <mx:Validator id="fNameValidator" required="true" source="{contactmodel}" property="fname" listener="{fnametxt}"/>   <mx:Validator id="addressValidator" required="true" source="{contactmodel}" property="address" listener="{addresstxt}"/>   <mx:Validator id="cityValidator" required="true" source="{contactmodel}" property="city" listener="{citytxt}"/>   <mx:Validator id="stateValidator" required="true" source="{contactmodel}" property="state" listener="{statetxt}"/>     <mx:ZipCodeValidator id="zipValidator" required="true" source="{contactmodel}" property="zip" listener="{ziptxt}"/>   <mx:EmailValidator id="emailValidator" source="{contactmodel}" property="email" listener="{emailtxt}"/>   <mx:PhoneNumberValidator id="phoneValidator" source="{contactmodel}" property="phone" listener="{phonetxt}"/>   <mx:Panel title="Contact Info" width="500" height="250">   <mx:Form>     <mx:FormItem label="Name" direction="horizontal">       <mx:TextInput id="fnametxt" />     </mx:FormItem>     <mx:FormItem label="Address">       <mx:TextInput id="addresstxt"/>     </mx:FormItem>     <mx:FormItem label="City State, Zip" direction="horizontal">       <mx:TextInput id="citytxt"/>       <mx:TextInput id="statetxt" width="20"/>       <mx:TextInput id="ziptxt" width="50"/>     </mx:FormItem>     <mx:FormItem label="Phone">       <mx:TextInput id="phonetxt"/>     </mx:FormItem>     <mx:FormItem label="Email">       <mx:TextInput id="emailtxt"/>     </mx:FormItem>     <mx:Button id="validatebtn" label="Validate Data Model" click="validate()"/>   </mx:Form>   </mx:Panel> </mx:Application>