jQuery验证 - 隐藏显示验证错误消息/显示自​​定义错误

Ant*_*lev 51 jquery-validate

我正在使用jQuery Validate,但我真的不希望收到任何错误消息.相反,我需要在违规输入/选择/等周围设置红框.这些红色框是一块蛋糕,但我仍然无法删除错误信息.如何完全禁用它们?

tva*_*son 138

使用不会将错误消息附加到任何内容的自定义错误放置功能(请参阅插件的选项).

$('#form').validate({
  errorPlacement: function(error,element) {
    return true;
  }
});
Run Code Online (Sandbox Code Playgroud)

或者您可以将错误消息放在页面的其他位置 - 例如在页面顶部的DIV中.

  • @RainLover不会覆盖直接在元素上设置的任何样式.我必须看看插件通常如何显示.如果它完全基于类,它可以工作,但如果它使用显示/隐藏,那么它不会.它还会迫使您进入全局解决方案(假设一个站点范围的样式表). (2认同)

Dar*_*rov 9

您可以覆盖该showErrors功能:

jQuery('form').validate({
    showErrors: function(errorMap, errorList) {
        // Do nothing here
    },
    onfocusout: false,
    onkeyup: false,
    rules: {
        email: {
            required: true
        }
    },
    messages: {
        email: {
            required: 'The email is required'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

  • @tvanfosson:是的,确实如此. (3认同)

Jam*_*ock 7

我就是这样做的.只需$.validator.messages.required = '';在你的调用之前初始化validate()即:

$.validator.messages.required = '';
$('#formData').validate({});`
Run Code Online (Sandbox Code Playgroud)

这将使它在输入上显示样式,但没有消息标签!