惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

H
Help Net Security
爱范儿
爱范儿
V
Visual Studio Blog
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
雷峰网
雷峰网
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 三生石上(FineUI控件)
博客园 - Franky
博客园 - 叶小钗
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
The Cloudflare Blog
大猫的无限游戏
大猫的无限游戏
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
罗磊的独立博客
L
LangChain Blog
Jina AI
Jina AI
IT之家
IT之家
J
Java Code Geeks
Microsoft Azure Blog
Microsoft Azure Blog
博客园_首页

博客园 - 唐朝

SqlServer 导出表结构到Word struts2中的jar文件说明 Android的PackageManager和ActivityManager liferay+portlet+开发实例 (转)android应用自适应多分辨率的解决方法 Flex4自定义分页组件 Flex嵌入到HTML中切换焦点不能输入中文和遮盖DIV的问题 Cairngorm的工作流程 最简单的Flex框架Cairngorm实例,绝对容易 四种方式实现Flex页面跳转 Flex4之DataGrid四个的示例【客户端和服务器端】 Flex 4之fx、mx以及s命名空间解说 Flex4之通过iframe嵌入html网页 Flex4之在Aert提示框中加入超链接 Flex4之皮肤定制【Skin类和Skin类】 Flex4之四种事件处理方式 Flex4之简单菜单制作 Flex4之使用ActionScript构建组件 Flex4之元数据标签使用
Flex4表单验证【重点说明comboBox验证】
唐朝 · 2012-02-25 · via 博客园 - 唐朝

上次说到了简单的表单验证,可以配置错误信息,点击按钮可以进行所有表单验证,那么如果验证都通过,怎样执行提交任务呢?一般都会这么处理,下面这个是button点击事件处理方法

Xml代码 复制代码 收藏代码

  1. <SPAN style="FONT-SIZE: medium">function vaidateForm():void{   
  2.  var all:Array=Validator.validateAll([numVD,emailVD,comboValidator]);   
  3.     if(all.length==0){   
  4.       Alert.show("验证成功");   
  5.      //这里可以发送请求进行表单提交任务   
  6.   }   
  7.  }</SPAN>  

 关于错误信息提示方面,有人说到字体太小了不好看,那么针对这个问题肯定是样式没有配好,就如同提示框的字体太小一样都可以进行style设置的

现附上图




 类似于这样的效果,配置如下

Xml代码 复制代码 收藏代码

  1. <SPAN style="FONT-SIZE: medium"><fx:Style>  
  2. @namespace s "library://ns.adobe.com/flex/spark";   
  3. @namespace mx "library://ns.adobe.com/flex/mx";   
  4.   .errorTip   
  5.   {   
  6.     fontSize:16;   
  7.   }    
  8.   mx|Alert{   
  9.     fontSize:16;   
  10.   }   
  11. </fx:Style></SPAN>  

 接下来就说下comboBox的验证了,这个在普通验证里面是找不到的必须自己手写

 ComboValidator.as

Java代码 复制代码 收藏代码

  1. <SPAN style="FONT-SIZE: medium">package oreilly.cookbook   
  2. {   
  3.     import mx.validators.ValidationResult;   
  4.     import mx.validators.Validator;   
  5.     public class ComboValidator extends Validator   
  6.     {   
  7.           
  8.         public var error:String;   
  9.           
  10.           
  11.         public var prompt:String;   
  12.         public function ComboValidator() {   
  13.             super();   
  14.         }   
  15.           
  16.           
  17.           
  18.           
  19.         override protected function doValidation(value:Object):Array   
  20.         {   
  21.             var results:Array = [];   
  22.             if(value as String == prompt || value == null) {   
  23.                 var res:ValidationResult = new ValidationResult(true"""", error);   
  24.                 results.push(res);   
  25.             }   
  26.             return results;   
  27.         }   
  28.     }   
  29. }</SPAN>  

 具体使用代码,使用之前先配下Application的命名空间

Xml代码 复制代码 收藏代码

  1. <SPAN style="FONT-SIZE: medium"><s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"     
  2.                xmlns:s="library://ns.adobe.com/flex/spark"    
  3.                xmlns:mx="library://ns.adobe.com/flex/mx"    
  4.                xmlns:cookbook="oreilly.cookbook.*"  
  5.                creationComplete="init()"  
  6.         ></SPAN>  

  看到那个cookbook的没有,就是配上那个,orelilly.cookbook是as文件的包名

Xml代码 复制代码 收藏代码

  1. <SPAN style="FONT-SIZE: medium"><fx:Declarations>  
  2. <cookbook:ComboValidator prompt="myCombox" id="comboValidator" error="请选择一项"    source="{myCombox}" property="selectedItem"/>  
  3. </fx:Declarations></SPAN>