上次说到了简单的表单验证,可以配置错误信息,点击按钮可以进行所有表单验证,那么如果验证都通过,怎样执行提交任务呢?一般都会这么处理,下面这个是button点击事件处理方法
- <SPAN?style="FONT-SIZE:?medium">function?vaidateForm():void{ ??
- ?var?all:Array=Validator.validateAll([numVD,emailVD,comboValidator]); ??
- ????if(all.length==0){ ??
- ??????Alert.show("验证成功"); ??
- ?????//这里可以发送请求进行表单提交任务 ??
- ??} ??
- ?}</SPAN>??
??
?关于错误信息提示方面,有人说到字体太小了不好看,那么针对这个问题肯定是样式没有配好,就如同提示框的字体太小一样都可以进行style设置的
现附上图


?类似于这样的效果,配置如下
<SPAN?style="FONT-SIZE:?medium"><fx:Style>??
@namespace?s?"library://ns.adobe.com/flex/spark"; ??
@namespace?mx?"library://ns.adobe.com/flex/mx"; ??
??.errorTip ??
??{ ??
????fontSize:16; ??
??}? ??
??mx|Alert{ ??
</fx:Style></SPAN>??
?接下来就说下comboBox的验证了,这个在普通验证里面是找不到的必须自己手写
?ComboValidator.as
Java代码?

<SPAN?style="FONT-SIZE:?medium">package?oreilly.cookbook ??
- { ??
- ????import?mx.validators.ValidationResult; ??
- import?mx.validators.Validator; ??
- public?class?ComboValidator?extends?Validator ??
- ????{ ??
- ??????????
- ????????public?var?error:String; ??
- //如果开发者把一个自定义的项目推进ComboBox的数组中(这种情况我见过不少)???
- //我们就会把这个项跟已选取的项进行对比。???
- public?var?prompt:String; ??
- public?function?ComboValidator()?{ ??
- ????????????super(); ??
- ????????} ??
- //在这里我们进行两个检查:???
- //1.?comboBox中有没有项目被选中???
- //2.?开发者有没有为comboBox加入自定义的项目???
- //任何一个条件为ture的话,?则返回一个错误???
- ????????override?protected?function?doValidation(value:Object):Array ??
- ????????{ ??
- ????????????var?results:Array?=?[]; ??
- if(value?as?String?==?prompt?||?value?==?null)?{ ??
- ????????????????var?res:ValidationResult?=?new?ValidationResult(true,?"",?error); ??
- ????????????????results.push(res); ??
- ????????????} ??
- return?results; ??
- ????} ??
- }</SPAN>??
?具体使用代码,使用之前先配下Application的命名空间
??
<SPAN?style="FONT-SIZE:?medium"><s:Application?xmlns:fx="http://ns.adobe.com/mxml/2009"?? ??
???????????????xmlns:s="library://ns.adobe.com/flex/spark"? ??
???????????????xmlns:mx="library://ns.adobe.com/flex/mx"? ??
???????????????xmlns:cookbook="oreilly.cookbook.*"??
???????????????creationComplete="init()"??
????????></SPAN>??
? 看到那个cookbook的没有,就是配上那个,orelilly.cookbook是as文件的包名
?
?
<SPAN?style="FONT-SIZE:?medium"><fx:Declarations>??
<cookbook:ComboValidator?prompt="myCombox"?id="comboValidator"?error="请选择一项"????source="{myCombox}"?property="selectedItem"/>??
</fx:Declarations></SPAN>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|