场景:表单完全是动态循环出来的:
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 });