Предыдущий ответ не является полностью правильным.
Функция 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);
}