| <?xml version="1.0" encoding="utf-8"?> |
| <!-- |
| |
| Licensed to the Apache Software Foundation (ASF) under one or more |
| contributor license agreements. See the NOTICE file distributed with |
| this work for additional information regarding copyright ownership. |
| The ASF licenses this file to You under the Apache License, Version 2.0 |
| (the "License"); you may not use this file except in compliance with |
| the License. You may obtain a copy of the License at |
| |
| http://www.apache.org/licenses/LICENSE-2.0 |
| |
| Unless required by applicable law or agreed to in writing, software |
| distributed under the License is distributed on an "AS IS" BASIS, |
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| See the License for the specific language governing permissions and |
| limitations under the License. |
| |
| --> |
| <s:Module 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:a="http://flex.apache.org/ns"> |
| <s:layout> |
| <s:HorizontalLayout verticalAlign="middle" horizontalAlign="center" /> |
| </s:layout> |
| |
| <fx:Script> |
| <![CDATA[ |
| import org.apache.flex.validators.PostCodeValidator; |
| |
| import mx.controls.Alert; |
| |
| protected function validatePostCode(event:MouseEvent):void |
| { |
| if (aust.selected) { |
| checkAustralianPostCode(postcode.text); |
| } |
| else if (uk.selected) { |
| checkUKPostCode(postcode.text); |
| } |
| else if (can.selected) { |
| checkCanadianPostCode(postcode.text); |
| } |
| } |
| |
| public function checkAustralianPostCode(postcode:String):void { |
| validator.formats = ["NNNN"]; |
| } |
| |
| public function checkUKPostCode(postcode:String):void { |
| validator.formats = ["AN NAA", "ANN NAA", "AAN NAA", "ANA NAA", "AANN NAA", "AANA NAA"]; |
| } |
| |
| public function checkCanadianPostCode(postcode:String):void { |
| validator.format = "ANA NAN"; |
| } |
| ]]> |
| </fx:Script> |
| |
| |
| <fx:Declarations> |
| <a:PostCodeValidator id="validator" source="{postcode}" property="text" |
| trigger="{checkPostcode}" triggerEvent="click" |
| invalid="Alert.show('Postcode incorrect format!', 'Postcode')"/> |
| </fx:Declarations> |
| |
| |
| <s:Panel title="Postcode Validator Example" width="100%" height="100%"> |
| <s:layout> |
| <s:VerticalLayout paddingLeft="10" paddingRight="10" paddingTop="10" paddingBottom="10"/> |
| </s:layout> |
| <s:HGroup verticalAlign="middle"> |
| <s:Label text="Postcode" /> |
| <s:TextInput id="postcode" text=""/> |
| </s:HGroup> |
| <s:HGroup verticalAlign="middle"> |
| <s:Label text="Country" /> |
| <s:RadioButton id="aust" label="Australia" selected="true" /> |
| <s:RadioButton id="uk" label="UK" /> |
| <s:RadioButton id="can" label="Canada" /> |
| </s:HGroup> |
| <s:Button id="checkPostcode" label="Validate Postcode" click="validatePostCode(event)" /> |
| </s:Panel> |
| </s:Module> |