如何将简单的淡入淡出过渡应用于jQuery Validate?

时间:2012-04-20 10:03:21

标签: jquery validation plugins

我一直在尝试将简单的淡入淡出过渡(例如fadeToggle();)应用到jQuery Validation plugin,但没有运气。这是我的代码:

$.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');
    }
});

是否有一种简单的方法可以添加此淡入淡出过渡?

1 个答案:

答案 0 :(得分: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