Flex4中StringValidator和DateValidator的示例程序

时间:2014-02-03 12:36:35

标签: actionscript-3 flex flex4

我想使用flex在单个程序中创建字符串和日期验证器。你能帮助我吗?

谢谢。

1 个答案:

答案 0 :(得分:0)

我得到了这个问题的答案。 `                 

<fx:Script>
    <![CDATA[

        // Import necessary classes.
        import mx.controls.Alert;
        import mx.events.ValidationResultEvent;
        import mx.validators.Validator;

        private function validate():void
        {
            var errors : Array = Validator.validateAll([uName,uMail]);
            if(errors.length>0)
                submitButton.enabled = false;
            else
                submitButton.enabled = true;
            /* submitButton.percentHeight */
        }


        // Submit form is everything is valid. 
        private function submitForm():void {
            Alert.show("Form Submitted!");
        }

    ]]>
</fx:Script>

<s:layout>
    <s:HorizontalLayout verticalAlign="middle" horizontalAlign="center" />
</s:layout>

<fx:Declarations>
    <mx:StringValidator 
        id="uName" 
        source="{userName}" 
        property="text" 
        requiredFieldError="User name is required!" 
        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"
        required="true"/>

    <mx:EmailValidator
        id="uMail"
        source="{userMail}"
        property="text" invalidCharError="Invalid character"
        required="true" />

</fx:Declarations>  
<s:Panel title="Validator Example" width="100%" height="100%"
         color="0x000000" 
         borderAlpha="0.15">

    <s:layout>
        <s:HorizontalLayout horizontalAlign="left"
                            paddingLeft="10" paddingRight="10" 
                            paddingTop="10" paddingBottom="10"/>
    </s:layout>

    <mx:Form color="0x323232" >
        <mx:FormItem label="Enter Your Name: " height="40"  horizontalAlign="right" required="true">
            <s:TextInput id="userName" width="100%" change="validate()"/>
        </mx:FormItem>
        <mx:FormItem label="Enter Your E-mail Address: " height="40">
            <s:TextInput id="userMail" width="100%" change="validate()"/>
        </mx:FormItem>
        <mx:FormItem >
            <s:Button id="submitButton" enabled="false" label="Validate" click="submitForm()"/>
        </mx:FormItem>  
    </mx:Form>

</s:Panel>

`