5 месяцев с опозданием ... надеюсь, это все еще полезно:
jQuery.validate использует опцию errorPlacement:
для передачи аргументов об ошибках и элементах, чтобы вы могли делать с ними все, что захотите ... и функция выполняется каждый раз, когда в форме пользователя возникает ошибка. Его аналогом является success:
, который передает метку в качестве опции.
Но для максимальной гибкости вам даже не нужно использовать «ярлык». Вместо этого вы можете передать объект jQuery из errorPlacement (на основе обхода от «элемента» объекта) к опции success:
. И успех рассчитывается в режиме реального времени.
Все немного запутанно, но вот некоторый общий код ...
Для вашего HTML вы можете поставить:
<div class="errorparent">
<input type="text" id="username" name="username"/>
<div class="norederrorx errordetails"> </div>
</div>
Чтобы найти свой пользовательский div в опциях jQuery.validate:
errorPlacement: function(error, element) {
var errorcontent=eval(error);
errorspotholder = element.parents('.errorparent');
И в вашем варианте успеха:
errorspotholder.find('.rederrorx').removeClass('rederrorx').addClass('norederrorx');
Если вы хотите манипулировать еще большим количеством элементов div ... например, отдельным допустимым тегом div, вам просто нужно перейти к объекту, отличному от «errorsotholder», который ссылается на содержащий родительский элемент div «errorparent»
Всего наилучшего!
Emile