Validator 组件

来源:互联网 发布:java wait 超时 编辑:程序博客网 时间:2024/06/01 09:56

必填项

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="120">
 <mx:Validator id="nameV" source="{nameTI}" property="text" requiredFieldError="必须输入用户名!"/>
 <mx:FormItem label="用户名:">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>
 <mx:Button id="btn" label="提交" />
</mx:Application>
<mx:Style>
 .errorTip
 {
 fontSize: 12;
 }
</mx:Style>
单击“提交”按钮才会触发检测
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="150">
 <mx:Style>
 <![CDATA[
 .errorTip
 {
 fontSize: 12;
 }
 ]]>
 </mx:Style>
 <mx:Validator id="nameV" source="{nameTI}" property="text"
 requiredFieldError="必须输入姓名!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="ageV" source="{ageTI}" property="text"
 requiredFieldError="必须输入年龄!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:FormItem label="姓名:">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>
 <mx:FormItem label="年龄:">
 <mx:TextInput id="ageTI"/>
 </mx:FormItem>
 <mx:Button id="btn" label="提交" />
</mx:Application>
控制错误显示的目标
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="200">
 <mx:Style>
 <![CDATA[
 .errorTip
 {
 fontSize: 12;
 }
 ]]>
 </mx:Style>
 <mx:Validator id="nameV" source="{nameTI}" property="text"
 requiredFieldError="必须输入姓名!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="ageV" source="{ageTI}" property="text"
 requiredFieldError="必须输入年龄!"
 trigger="{btn}" triggerEvent="click"/>
 <mx:Validator id="sexV" source="{sexRBG}" property="selectedValue"
 requiredFieldError="必须选择性别!"
 trigger="{btn}" triggerEvent="click"
 listener="{maleRB}"/>
 <mx:FormItem label="姓名:" width="150">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>
 <mx:FormItem label="年龄:" width="150">
 <mx:TextInput id="ageTI"/>
 </mx:FormItem>
 <mx:FormItem label="性别:" direction="horizontal" width="150">
 <mx:RadioButtonGroup id="sexRBG"/>
 <mx:RadioButton id="maleRB" groupName="sexRBG" label="男" value="1"/>
 <mx:RadioButton id="femaleRB" groupName="sexRBG" label="女" value="0"/>
 </mx:FormItem>
 <mx:Button id="btn" label="提交" />
</mx:Application>
NumberValidator可以指定要检测的数字是整数还是实数,这需要用domain属性来指定
<?xml version="1.0" encoding="utf-8"?>

<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" fontSize="12" width="300" height="200">

 <mx:Style>
 <![CDATA[
 .errorTip
 {
 fontSize: 12;
 }
 ]]>
 </mx:Style>

 <mx:StringValidator id="nameV" source="{nameTI}" property="text"
 minLength="2"
 maxLength="5"
 requiredFieldError="必须输入姓名!"
 tooShortError="姓名过短!"
 tooLongError="姓名过长!"
 trigger="{btn}" triggerEvent="click"/>

 <mx:NumberValidator id="ageV" source="{ageTI}" property="text"
 domain="int"
 minValue="6"
 maxValue="100"
 lowerThanMinError="年龄过小!"
 exceedsMaxError="年龄过大!"
 integerError="年龄必须是整数!"
 invalidCharError='输入了非数字字符!'
 requiredFieldError="必须输入年龄!"
 trigger="{btn}" triggerEvent="click"/>

 <mx:Validator id="sexV" source="{sexRBG}" property="selectedValue"
 requiredFieldError="必须选择性别!"
 trigger="{btn}" triggerEvent="click"
 listener="{maleRB}"/>

 <mx:EmailValidator id="emailV" source="{emailTI}" property="text"
 requiredFieldError="必须输入E-mail"
 invalidCharError="E-mail地址中有错误字符。"
 invalidDomainError="E-mail地址中的域名不符合规范。"
 invalidIPDomainError="E-mail地址中的IP格式域名不符合规范。"
 invalidPeriodsInDomainError="域名中的“.”错误。"
 missingAtSignError="E-mail地址缺少“@”符号。"
 missingPeriodInDomainError="域名中缺少“.”"
 missingUsernameError="E-mail地址缺少用户名。"
 tooManyAtSignsError="E-mail地址中的“@”符号太多。"
 trigger="{btn}" triggerEvent="click"/>
 
 <mx:FormItem label="姓名:" width="200">
 <mx:TextInput id="nameTI"/>
 </mx:FormItem>

 <mx:FormItem label="年龄:" width="200">
 <mx:TextInput id="ageTI"/>
 </mx:FormItem>

 <mx:FormItem label="性别:" direction="horizontal" width="200">
 <mx:RadioButtonGroup id="sexRBG"/>
 <mx:RadioButton id="maleRB" groupName="sexRBG" label="男" value="1"/>
 <mx:RadioButton id="femaleRB" groupName="sexRBG" label="女" value="0"/>
 </mx:FormItem>

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

 <mx:Button id="btn" label="提交" />

</mx:Application>
Validators.validateAll()方法同时验证多个输入
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="vertical" verticalAlign="middle" backgroundColor="white" creationComplete="initApp()">

<mx:Style>
 .errorTip
 {
 fontSize: 12;
 }
</mx:Style>
 <mx:Script>
 <![CDATA[
 import mx.events.ValidationResultEvent;
 import mx.controls.Alert;
 import mx.validators.Validator;

 private var myValidators:Array;
 

 private function initApp():void {
 myValidators = [valid1, valid2];
 }

 private function clickHandler():void {
 var errors:Array = Validator.validateAll(myValidators);
 if (errors.length == 0) {
 Alert.show("Looks valid to me.", "SUCCESS");
 }
 }
 ]]>
 </mx:Script>

 <mx:StringValidator id="valid1" source="{ti1}" property="text" minLength="4" maxLength="6" tooShortError="太少了吧" tooLongError="太多了吧" />
 <mx:StringValidator id="valid2" source="{ti2}" property="text" minLength="4" maxLength="6" />
 <mx:Label text="最少4个字符,最多6个字符,谢谢!" fontSize="12"/>

 <mx:TextInput id="ti1" />
 <mx:TextInput id="ti2" />

 <mx:Button label="validate" click="clickHandler()" />

</mx:Application>
原创粉丝点击