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

时间:2011-06-27 20:39:35

标签: jquery jquery-validate jquery-animate

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

我正在使用jQuery Validation plug-in&我想动画显示错误标签。有可能吗?如果是这样的话?

我看了一眼,但解决方案似乎暗指我了!

提前致谢!!!

2 个答案:

答案 0 :(得分:4)

以前的答案并不完全正确。

errorPlacement函数仅针对每个错误调用一次。如果您打开和关闭此错误 - jquery.validate仅调用hideshow以及highlightunhighlight

所以你需要两个补充:

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

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

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

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

jQuery.validator.prototype.hideErrors = function() {
     this.addWrapper( this.toHide ).slideUp(300);
}

答案 1 :(得分:1)

示例:

$("#yourform").validate({
rules: {  

Your rules

 },
 messages:{

Your messages

 },
 errorPlacement: function(error, element){
 if ( element.is(":radio") || element.is(":checkbox")){
error.insertAfter(element.parent()).animate({opacity: 0.25, left: '+=50'});
} else { 
error.insertAfter(element).animate({opacity: 0.25, left: '+=50'});
}
   }

});