js实现简易版validate

本文介绍了一种在项目中根据不同类型动态显示表单并进行验证的方法。通过自定义validate函数,实现了根据不同类型判断表单字段是否为空,并进行相应提示。文章还分享了代码优化过程,从冗长的重复代码到使用数组迭代简化验证流程。
摘要由CSDN通过智能技术生成

需求分析

项目中需要根据选择不同的类型,显示不同的表单,采用的方法是css隐藏显示不需要的表单,但是这个表单字段都是必填的,尝试把不同的表单放在不同的form里,提交时根据不同的类型调用miniui自带的validate方法,结果失败,验证了不同表单的所有字段,所以只能自己实现一个简易版的validate方法,功能是根据不同的类型,判断字段是否为空,如果是空则提示。

代码实现

提示函数

因为每个字段都需要单独判断所以把提示封装成一个函数

       function showk(){
           mini.alert("表单字段均为必填!");
       }

核心功能

根据输入的type拼接上各个字段就能得到type类型表单的字段

     function myvalidate (type) {
          var name = mini.get(type+"unitname");
          var licnum = mini.get(type+"licnum");

                        ...

          var fax = mini.get(type+"fax");
          var creditcode = mini.get(type+"creditcode");
          if(name.getValue()==''){
              showk();
              return "w";
          }
          if(licnum.getValue()==''){
              showk();
              return "w";
          }

               ...

          if(email.getValue()==''){
              showk();
              return "w";
          }
          if(fax.getValue()==''){
              showk();
              return "w";
          }
          if(creditcode.getValue()==''){
              showk();
              return "w";
          } */
          if(type=="use"){
              var useunittype = mini.get("useunittype")
              if(useunittype.getValue()==''){
                 showk();
                 return "w";
              }
          }
       }

代码优化

写这么长实在是太傻了,类型后面的字段大部分都是一样的,可以放在一个数组里然后迭代,不同的分别写if就行了,也不知道第一次写的时候为啥没想到,可能这就是菜吧

     function myvalidate(type){
          var field=["unitname","licnum",...,"fax","creditcode"];
          for(var f of field){
              var temp = mini.get(type+f);    
              if(temp.getValue()==''){
                  showk();
                  return "w";
              }
          }
          if(type=="use"){
              var useunittype = mini.get("useunittype")
              if(useunittype.getValue()==''){
                 showk();
                 return "w";
              }
          }
       }

总结

还是要多写,不然实际问题来临,手忙脚乱。

转载于:https://www.cnblogs.com/ljsh/p/10700851.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值