2012-10-04 50 views
2

我只想期间并输入字段(输入错误或空字段)后,隐藏所有的错误消息。一旦提交/按钮被按下,那么该消息将全部出现/可见。防止jQuery验证邮件,直到提交

问题是...每次我输入错误的或者我离开文本字段为空时它总是显示这样的“这个领域需要”的错误信息等

rules : { 

    "user.firstname" : { 
    required : true, 
    maxlength: 50, 

}, 
messsages : { 
required : "required", 
maxlength: "the max-length is 50" 
" 
} 
+0

你的代码中有''''' – Sparky

+0

也许你可以请com回来,让我们知道这是如何结果。谢谢。 – Sparky

回答

5

按照online documentation,你需要使用onfocusout:onkeyup:选项。


验证元素(除复选框/单选按钮)上模糊。如果输入 什么都没有,所有的规则都跳过,当现场被 已经标记为无效的除外。

禁用的onblur验证:

onfocusout: false 

上KEYUP验证元件。只要现场没有标记为 无效的,没有任何反应。否则,将在每个键 起事件中检查所有规则。

禁用的onkeyup验证:

onkeyup: false 

而且取决于如果您有复选框,单选按钮,您可能要禁用onclick:选项也是如此。

单击确认复选框和单选按钮。

禁用的onclick验证:

onclick: false 
-2

,而不是$(文件)。就绪(函数(){}您可以尝试使用

$('input[type=submit]').click(function(event) { 
// Do your validation, if it fails use event.preventDefault(); 
}); 

只是试试看让我知道会发生什么......

+0

这是实现插件的错误方法。 '.validate()'必须在'document.ready'中初始化才能正常工作。点击处理程序已经内置到插件中,因此将其包装在另一个中是多余且不合适的。 – Sparky

+0

如果这就是文档所说的那么我很抱歉......但我只是试了一下,它的工作正常,所以你可以让我知道当你说功能正确时你的意思是什么? (只是出于好奇知道) – Scorpio

+0

请参阅[this](http://stackoverflow.com/questions/9935963/jquery-validation-messages-only-show-up-after-multiple-submits/9936025#9936025),[这个](HTTP://计算器。com/questions/11067999/jquery-validation-plugin-wont-validate-when-in-click-event-handler-of/11068130#11068130)和[this](http://stackoverflow.com/questions/10825290/) jquery的验证-验证-数 - 时间 - 一个场合一个隐藏区/ 10825498#10825498)。根据您提出的实施方案报告问题的人数,它似乎非常受欢迎,虽然完全错误。 – Sparky