加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex表单验证---combobox

发布时间:2020-12-15 05:01:28 所属栏目:百科 来源:网络整理
导读:上次说到了简单的表单验证,可以配置错误信息,点击按钮可以进行所有表单验证,那么如果验证都通过,怎样执行提交任务呢?一般都会这么处理,下面这个是button点击事件处理方法 Xml代码? ? SPAN ? style = "FONT-SIZE:?medium" function?vaidateForm():void{

上次说到了简单的表单验证,可以配置错误信息,点击按钮可以进行所有表单验证,那么如果验证都通过,怎样执行提交任务呢?一般都会这么处理,下面这个是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设置的

现附上图




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

<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 ??
    1. { ??
    2. ????import?mx.validators.ValidationResult; ??
    3. import?mx.validators.Validator; ??
    4. public?class?ComboValidator?extends?Validator ??
    5. ????{ ??
    6. ????????//?如果ComboBox中没有项目被选中,?则返回这个错误信息???
    7. ????????public?var?error:String; ??
    8. //如果开发者把一个自定义的项目推进ComboBox的数组中(这种情况我见过不少)???
    9. //我们就会把这个项跟已选取的项进行对比。???
    10. public?var?prompt:String; ??
    11. public?function?ComboValidator()?{ ??
    12. ????????????super(); ??
    13. ????????} ??
    14. //在这里我们进行两个检查:???
    15. //1.?comboBox中有没有项目被选中???
    16. //2.?开发者有没有为comboBox加入自定义的项目???
    17. //任何一个条件为ture的话,?则返回一个错误???
    18. ????????override?protected?function?doValidation(value:Object):Array ??
    19. ????????{ ??
    20. ????????????var?results:Array?=?[]; ??
    21. if(value?as?String?==?prompt?||?value?==?null)?{ ??
    22. ????????????????var?res:ValidationResult?=?new?ValidationResult(true,?"",?error); ??
    23. ????????????????results.push(res); ??
    24. ????????????} ??
    25. return?results; ??
    26. ????} ??
    27. }</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>
  • (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读