如何使用 jquery 验证插件为错误标签设置动画

She*_*ixt 2 jquery jquery-validate jquery-animate

这似乎是一个非常简单的问题,但我认为数小时盯着代码让我很难找到解决方案

我正在使用jQuery 验证插件& 我想要动画错误标签的显示。有可能吗?如果是这样怎么办?

我环顾四周,但解决方案似乎在暗指我!

提前致谢!!!

小智 5

以前的答案不完全正确。

errorPlacement对于每个错误,该函数仅调用一次。如果您打开和关闭此错误 - jquery.validate 只调用hideandshowhighlightand unhighlight

所以你需要添加两个:

首先添加动画以突出显示选项:

 highlight: function (element, errorClass, validClass) {
    $(element).parent().find('.help-block') //your error placement
       .slideDown(300); //animation
 }
Run Code Online (Sandbox Code Playgroud)

其次,如果您想要隐藏消息的动画,则不能使用 'unhighlight' 和 'slideUp',因为 jquery.validate 在动画完成之前直接调用了 'hide'。

所以你需要覆盖标准的 jquery.validate 逻辑:

jQuery.validator.prototype.hideErrors = function() {
     this.addWrapper( this.toHide ).slideUp(300);
}
Run Code Online (Sandbox Code Playgroud)