2009-10-16 221 views

回答

127

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

$('#form').validate({ 
    errorPlacement: function(error,element) { 
    return true; 
    } 
}); 

或者你可以把错误信息放在页面的其他地方 - 比如说在页面顶部的DIV中。

+0

谢谢,发现这个答案,而同样的问题:) – Agos 2010-07-15 13:00:02

+1

@tvanfosson,它可以像这样使用CSS:'label.error {display:none!important;}' – Mori 2012-10-30 03:19:19

+2

@RainLover这不会覆盖任何样式直接在元素上设置。我不得不看看插件通常如何显示。如果它完全基于类,它会工作,但如果它使用show/hide,那么它不会。这也会迫使你进入一个全球性的解决方案(假设一个单一的网站范围的样式表)。 – tvanfosson 2012-10-30 13:04:06

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' 
     } 
    } 
}); 
+0

这不会消除突出元素? – tvanfosson 2009-10-16 13:39:34

+3

@tvanfosson:是的,它确实如此。 – 2009-10-17 06:54:10

+0

感谢onfocusout和onkeyup! – user3560988 2016-03-20 18:48:20

6

这是我要做的事。只要把$.validator.messages.required = '';呼叫之前,初始化的validate()即:

$.validator.messages.required = ''; 
$('#formData').validate({});` 

这将使它显示在输入的风格,但没有消息的标签!

+0

完美的解决方案 – 2015-06-08 10:23:48