Jquery验证插件如何将错误类添加到标签

Str*_*_99 6 jquery jquery-validate

使用jquery validate插件,我试图覆盖它的默认行为.这是我的html的一个例子:

<table>
<tr>
  <td>
    <label for="my-input>Name</label>
  </td>
</tr>
<tr>
  <td>
    <input type="text" class="required" id="my-input />
  </td>
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)

我希望valadate做的就是将类.error添加到现有标签,然后在字段通过验证后将其删除.

谢谢.

Dr *_*ard 13

这是默认行为,您只需要停止页面上显示的错误消息.您可以通过覆盖errorPlacement来完成此操作

$('form').validate({
 errorPlacement: function () { }
});
Run Code Online (Sandbox Code Playgroud)

编辑.

抱歉误读了问题位 - 下面的代码有效,但可能有更好的方法

$('form').validate({
    // make sure error message isn't displayed
    errorPlacement: function () { },
    // set the errorClass as a random string to prevent label disappearing when valid
    errorClass : "bob",
    // use highlight and unhighlight
    highlight: function (element, errorClass, validClass) {
        $(element.form).find("label[for=" + element.id + "]")
        .addClass("error");
    },
    unhighlight: function (element, errorClass, validClass) {
        $(element.form).find("label[for=" + element.id + "]")
        .removeClass("error");
    }
});
Run Code Online (Sandbox Code Playgroud)

上面的代码来自选项文档的高亮示例