【发布时间】:2014-02-24 10:27:36
【问题描述】:
我正在使用 jquery 验证和 jquery 不显眼的验证插件。我试图隐藏错误消息,但错误消息没有隐藏。我创建了一个 js 小提琴:
以下是我在小提琴中使用的代码:
HTML
<form id="form">
Name:
<input data-val="true" data-val-length="The field First Name must be a string with a minimum length of 3 and a maximum length of 15." data-val-length-max="15" data-val-length-min="3" name="FirstName" type="text" />
<span class="field-validation-valid help-block" data-valmsg-for="FirstName" data-valmsg-replace="true"></span>
</form>
<button id="hide">Hide</button>
隐藏
JS
$("#hide").click(function(){
$("#form").data("validator").hideErrors();
});
我在这里缺少什么以及为什么 hideErrors() 函数不起作用??
编辑
我不知道为什么你们在给出答案时没有记住 jquery 不显眼的验证。几乎所有的答案都只是关注如何隐藏错误消息,而不用担心如果我们只是隐藏消息可能会破坏现有功能。我已经提到我想要的答案
为什么 jquery 验证器对象的 hideErrors() 函数不起作用?
我还创建了一个最简单的小提琴来演示我的问题,check this。
【问题讨论】:
-
我们都理解您的问题是什么,但 jQuery 验证器并不是为了在单击时隐藏消息而开发的。这对用户非常不友好,因为您看不到自己做错了什么,并且许多用户会认为该站点无法正常工作。这就是为什么。所以,我认为,没有真正的方法来隐藏消息(参见文档,
hideErrors()在resetForm中被调用)
标签: javascript jquery jquery-validate unobtrusive-validation