2012-04-20 2 views
1

Я пытаюсь применить простой переход затухания (например, fadeToggle();) к jQuery Validation plugin, но ему не повезло. Вот мой код:Как применить простой переход на переход к jQuery Validate?

$.validator.setDefaults({ 

    // Add fadeToggle(); to showErrors 
}); 

$("#login_form").validate(); 

$("#login_form").submit(function(event) { 
    event.preventDefault(); 

    if($("#login_form").valid()) { 

     $.post("/user/ajax_login", $('#login_form').serialize(), function(data) { 
      if(data.redirect != null) { 
       window.location.replace(data.redirect); 
      } 
     },'json'); 
    } 
}); 

Есть ли простой способ добавить этот переход затухания?

ответ

2

Для очень простой ответ:

Вы уже используете метод valid(), чтобы проверить, если есть ошибка или нет ... почему бы не использовать это?

, например:

if($('#login_form').valid()) { 
    // everything seams fine, lets submit the form 

    $.post("/user/ajax_login", $('#login_form').serialize(), function(data) { 
     if(data.redirect != null) { 
      window.location.replace(data.redirect); 
     } 
    },'json'); 
} 
else { 
    // there is some kind of validation error 

    $('label.error') 
    .hide() // by this time all .error classes are shown, let's hide them 
    .fadeIn('slow'); // and show them gently... 

} 

Live example on JsBin

Смежные вопросы