如何检测时jQuery验证完成,并调用基于该事件的东西吗?

问题描述 投票:8回答:6

我是新来的jQuery。

在同一时间使用jQuery验证插件及的Cufón工作是给我很艰难的时期。

基本上,我想检测事件一次jQuery验证做了什么,它有直后它做的事,并呼吁Cufon.refresh()。

$('#commentForm').validate({
    rules: {
        password: {
            required: true,
            minlength: 8,
            maxlength: 8,
            number: true
        },
    }
});

我们期待<label class="error"> SOME TEXT </label>当形式是无效的。

一旦创建我想Cufon.refresh()通过jQuery验证创建的标签上。如何检测时jQuery验证完成,并调用基于该事件的东西吗?

任何帮助非常赞赏。问候,彼得

javascript jquery jquery-validate cufon
6个回答
10
投票

由于@Ariel - 如果有一个“成功”,必须有一个“未成功”为好,这样..

工作代码:

$('#commentForm').validate({
    rules: {
        password: {
            required: true,
            minlength: 8,
            maxlength: 8,
            number: true
        }
    },
    showErrors: function(errorMap, errorList) {
        this.defaultShowErrors();
        Cufon.refresh();
        //alert('not valid!')
    },
    success: function() {
        //alert('valid!')
    }
});

再次感谢您的想法!


3
投票

使用success选项:

$('#commentForm').validate({
    rules: {
        password: {
            required: true,
            minlength: 8,
            maxlength: 8,
            number: true
        },
    }
    success: function() { .... }
});

请注意,您必须输入密码对象的关闭括号后多余的逗号。这将使IE中的一个错误。


2
投票
 <script src="js/validate/jquery-1.11.1.min.js"></script>
 <script src="js/validate/jquery.validate.min.js"></script>
 <script src="js/validate/additional-methods.min.js"></script>

<script>
    jQuery.validator.setDefaults({
        success:  "valid"
    });

    var form = $("#myform");
    form.validate({
        rules: {
           name: {required: true, minlength: 2},
            lastname: {required: true, minlength: 2}
        }

    });

    $("#button").click(function() {
        if(form.valid() == true ) { // here you check if validation returned true or false 
            $("body").addClass("loading");
        }
    })

</script>

1
投票
submitHandler: { function(){ bla bla }}

这将允许您在验证完成后执行代码。你需要放置一个提交表单代码虽然,因为它取代默认的处理程序。

编辑:

    // specifying a submitHandler prevents the default submit 
    submitHandler: function() { 
        alert("submitted!"); 
    }, 
    // set this class to error-labels to indicate valid fields 
    success: function(label) { 
        // set   as text for IE 
        label.html(" ").addClass("checked"); 
    } 

您可以使用到你想要做什么。 submitHandler允许你停止提交并执行代码,而不是(你都不可能用它来执行代码之前提交),或成功后提交给执行代码。


0
投票

把它放在errorPlacement选项里面。

errorPlacement: function(error, element) {
  error.appendTo( element.parent() );
  yourCodeHere();
}

0
投票
$(document).ready(function() {  
    $('#commentForm').submit(function(){
        var validationResponse = $('#commentForm').valid();

        if(validationResponse) {
            // when true, your logic
        } else {
            // when false, your logic
            return false;
        }
    });

    $("#commentForm" ).validate({
        rules: {
            "first_name": {
                required: true
            }
        },
        messages: {
            "first_name": {
                required: "First Name can not be empty"
            }
        }
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.