15

我在我的网站上使用jQuery Validate插件,然后通过 ajax 提交表单。当整个表格有效时,我可以使用一个事件吗?

4

5 回答 5

14

没有事件。只需使用简单的 if 语句检查状态。

if($("form").valid()) {
 //go ahead
}

但是,如果您尝试使用解决方法来捕获有效事件,则可以执行以下操作

$("form").submit(function() {
    if($(this).valid()) {
       //go ahead
    } else {
       //do some error handling
    }
});
于 2012-04-05T10:52:03.223 回答
7

jQuery Validate 希望您处理此问题的方式是指定一个submitHandler又名“在表单提交且有效时运行此函数”。您将在该函数中通过 AJAX 提交表单的内容。

$('form').validate({
    //your normal options
    submitHandler: function(){
        $.ajax(...);
    }
});
于 2012-04-05T17:18:18.077 回答
3

打电话

$("form").valid(); // returns true if valid

并不是

$("form").validate(); //returns $.validate
于 2012-04-05T10:50:43.093 回答
1

你可以像这样实现类似的东西:

var validator = $("#signin_form").validate({
        rules: {
            Phone: {
                required: true,
                phone: true
            },
            VerifyCode: {
                required: true,
                verifyCode: true
            }
        },
        messages: {},
        success: function (label, element) {
            if (validator.numberOfInvalids() == 0) {
                console.log(true);
            }
        }
    })
于 2020-05-21T07:11:45.263 回答
0

看到这个

valid( )检查所选表单是否有效或所有所选元素是否有效。

编辑

回报:Boolean

于 2012-04-05T10:49:05.897 回答