<?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 Form layout container. -->
<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:Declarations>
	    <fx:Model id="checkModel">
	        <User>
	            <FirstName>{fname.text}</FirstName>
	            <DOB>{dob.text}</DOB>
	            <Email>{email.text}</Email>
	            <Age>{age.text}</Age>
	            <SSN>{ssn.text}</SSN>
	            <Zip>{zip.text}</Zip>
	            <Phone>{phone.text}</Phone>
	        </User>
	    </fx:Model>
		
	    <mx:StringValidator source="{fname}" property="text" minLength="4" maxLength="12"/>
	    <mx:PhoneNumberValidator source="{phone}" property="text"/>
	    <mx:DateValidator source="{dob}" property="text"/>
	    <mx:EmailValidator source="{email}" property="text"/>
	    <mx:NumberValidator source="{age}" property="text" integerError="Enter Integer value"
	        minValue="18" maxValue="100" domain="int"/>
	    <mx:SocialSecurityValidator source="{ssn}" property="text"/>
	    <mx:ZipCodeValidator source="{zip}" property="text"/>
	</fx:Declarations>
	
    <mx:Panel title="Form Container Example"
				paddingBottom="10" paddingTop="10" paddingLeft="10" paddingRight="10"
				height="100%" width="100%">

        <mx:Text width="100%"
            text="Moving from one form field to another triggers the validator."/>

        <mx:Form width="100%" height="100%">
            <mx:FormHeading label="Enter values into the form."/>

            <mx:FormItem label="First name">
                <mx:TextInput id="fname" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="Date of birth (mm/dd/yyyy)">
                <mx:TextInput id="dob" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="E-mail address">
                <mx:TextInput id="email" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="Age">
                <mx:TextInput id="age" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="SSN">
                <mx:TextInput id="ssn" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="Zip">
                <mx:TextInput id="zip" width="200"/>
            </mx:FormItem>

            <mx:FormItem label="Phone">
                <mx:TextInput id="phone" width="200"/>
            </mx:FormItem>
        </mx:Form>

    </mx:Panel>

</mx:Module>
