这似乎是一个非常简单的问题,但我认为几个小时盯着代码让我很难找到解决方案
我正在使用jQuery Validation plug-in&我想动画显示错误标签。有可能吗?如果是这样的话?
我看了一眼,但解决方案似乎暗指我了!
提前致谢!!!
答案 0 :(得分:4)
以前的答案并不完全正确。
errorPlacement
函数仅针对每个错误调用一次。如果您打开和关闭此错误 - jquery.validate仅调用hide
和show
以及highlight
和unhighlight
。
所以你需要两个补充:
首先添加动画以突出显示选项:
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'});
}
}
});