<?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.
  -->

<!-- Simple example to demonstrate StringValidator. -->
<mx:Module xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:mx="library://ns.adobe.com/flex/mx"
				paddingBottom="0" paddingTop="0" paddingLeft="0" paddingRight="0"
				height="100%" width="100%">

     <fx:Script>
        import mx.controls.Alert;
    </fx:Script>

	<fx:Declarations>
	    <mx:StringValidator source="{fname}" property="text" 
	    	tooShortError="This string is shorter than the minimum allowed length of 4. " 
	    	tooLongError="This string is longer than the maximum allowed length of 20." 
	    	minLength="4" maxLength="20"  
	    	trigger="{myButton}" triggerEvent="click" 
	    	valid="Alert.show('Validation Succeeded!')"/>
	</fx:Declarations>

    <mx:Panel title="StringValidator Example"	
				paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10"
				height="100%" width="100%">

            <mx:Form>               
			    <mx:FormItem label="Enter a name between 4 and 20 characters: ">
                    <mx:TextInput id="fname" width="100%"/>
                </mx:FormItem>

                <mx:FormItem >
                    <mx:Button id="myButton" label="Validate" />
                </mx:FormItem>
            </mx:Form>	
    </mx:Panel>
</mx:Module>
