JQuery validate验证表单隐藏域

吴山
2023-12-01

当我们提交表单时,往往需要做一些必填和数据格式校验,点击提交,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>

 

 类似资料: