js实现简易版validate

需求分析

项目中需要根据选择不同的类型,显示不同的表单,采用的方法是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";
              }
          }
       }

总结

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

上一篇:吞吐量(TPS)、QPS、并发数、响应时间(RT)概念


下一篇:String IO与Bytes IO