validate校验,记录一种思路

发布时间 2023-04-12 11:26:39作者: 大山008

场景:表单完全是动态循环出来的:

1、必填校验

//必填标志//requid动态必填
<div class="form-group" th:if="${t.fieldType==1}">
   <label class="" th:classappend="${t.isRequired}==1 ? 'col-sm-3 control-label is-required' : 'col-sm-3 control-label' " th:text="${t.fieldTitle}+':'"></label>
   <div class="col-sm-8">
       <input class="form-control" th:placeholder="${t.fieldDesc}" th:name="${t.fieldName}" th:id="${t.fieldName}" 
type
="text" th:required="${t.isRequired}==1?true:false"/> </div> </div>

2、手机号校验

  //因为整个表单时循环出来的,字段也是动态的,所以无法通过固定的name属性或者自定义使用validate校验,

    如:

$("#formId").validate({ //#formId form表单id
        rules:{
            //字段的name属性:"校验器"
            userName:"required",//required在此含义是必填
            //字段的name属性:{校验器:值,校验器:值}
            passWord:{
                required:true,
                digits:true //digits是整数校验器,后面写true表示启动此校验器
            }
        }
  });

考虑在循环中:

 let rulesObj={};
  for(let item of phoneList){
    rulesObj[item]={
      isPhone:true
    }
  }
  console.log(rulesObj);
  $("#form-task").validate({
    onkeyup: false,
    rules:rulesObj,
    focusCleanup: true
  });