zoukankan      html  css  js  c++  java
  • 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";
        		  }
        	  }
           }
    

    总结

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

  • 相关阅读:
    npm常用命令
    React进阶
    ant按需加载、配置configoverrides.js文件、项目中引入less、解决TypeError: this.getOptions is not a function错误
    数组常用api
    react项目实战简单登录注册
    Hoot新特性
    win10全局安装插件却不能全局用,https:/go.microsoft.com/ fwlink/?LinkID=135170禁止运行脚本
    Ant Design编辑表格(类组件)
    反射解决类的复制
    基于Jquery和Ajax的多选框
  • 原文地址:https://www.cnblogs.com/ljsh/p/10700851.html
Copyright © 2011-2022 走看看