You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用jQuery Validator验证表单时排除指定输入控件?

如何用jQuery Validator验证表单时跳过特定字段?

完全可以实现验证input#a但跳过textarea#b的需求,jQuery Validator提供了两种简洁的方式:


方法一:通过ignore配置项指定排除字段

在调用.validate()时,添加ignore参数,传入需要跳过验证的字段选择器即可。比如要排除id为b的textarea,直接在配置中加入该规则:

修改后的JavaScript代码:

jQuery.validator.setDefaults({
    debug: true,
    success: "valid"
});

jQuery('.needs-validation').validate({
    ignore: "#b", // 新增:跳过id为b的字段验证
    errorElement: "em",
    errorPlacement: function(error, element) {
        error.addClass("invalid-feedback");

        if (element.prop("type") === "checkbox") {
            error.insertAfter(element.next("label"));
        } else {
            error.insertAfter(element);
        }
    },
    highlight: function(element, errorClass, validClass) {
        $(element).addClass("is-invalid").removeClass("is-valid");
    },
    unhighlight: function(element, errorClass, validClass) {
        $(element).addClass("is-valid").removeClass("is-invalid");
    }
});

方法二:给目标字段添加ignore类

无需修改JavaScript配置,直接在HTML的textarea标签上添加class="ignore",jQuery Validator会自动跳过带有该类的字段:

修改后的HTML片段:

<div class="mb-3">
  <label for="b" class="form-label">Text 2</label>
  <textarea class="form-control ignore" id="b" rows="3"></textarea>
</div>

补充:给input#a添加验证规则

如果需要对input#a设置具体验证规则(比如必填、邮箱格式),需要先给input添加name属性,再在.validate()的rules中配置:

修改后的HTML:

<div class="mb-3">
  <label for="a" class="form-label">Text 1</label>
  <input type="email" class="form-control" id="a" name="a" placeholder="">
</div>

修改后的JavaScript配置:

jQuery('.needs-validation').validate({
    ignore: "#b",
    rules: {
        a: {
            required: true, // 必填规则
            email: true     // 邮箱格式验证
        }
    },
    // 其他原有配置...
});

内容的提问来源于stack exchange,提问作者user20417316

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 19:31:05