当我们提交表单时,往往需要做一些必填和数据格式校验,点击提交,doSubmit的 beforeSend方法即可做校验。
<script type="text/javascript">
var validateForm;
$(function () {
// 绑定校验表单
validateForm = $("#form").validate({});
});
//提交
function doSubmit() {
$.ajax({
type: "POST",
url: "${basePath}/aaa/bbb/ccc",
data: $('#form').serialize(),
beforeSend: function(){
// 验证表单
return validateForm.form();
},
success: function (rb) {
layer.msg(rb.msg);
if (rb.code === 200) {
// 获取窗口索引
var index = layer.getFrameIndex();
table.reloadTable();
layer.close(index);
}
}
});
}
</script>
上述的JQuery 校验方法有个问题,无法校验隐藏域(type="hidden" 或者 display:none),当提交表单出现富文本,select2之类的被封装的样式时,就需要校验隐藏。
只需要对 validata配置ignore参数即可。该参数表示你需要忽略校验哪些元素。
<script type="text/javascript">
var validateForm;
$(function () {
// 绑定校验表单
validateForm = $("#form").validate({
ignore: "", // ""表示不忽略任何元素,即包括隐藏域在内的任何元素都要校验
ignore: "#eleId, .eleName" // 忽略多个,用逗号隔开即可
});
});
</script>