5
<script id="demo1" type="text/javascript">

jQuery(document).ready(function () {
    var validator = jQuery("#login").validate({
        rules: {
            pwd: "required",
            log: {
                required: true,
                email: true,
            },
        },
        messages: {
            pwd: "Please enter password",
            log: {
                required: "Email is required",
                email: "Please enter a valid Email Address",
            }
        },
        errorPlacement: function (error, element) {
            if (element.is(":radio"))
                error.appendTo(element.parent().next().next());
            else if (element.is(":checkbox"))
                error.appendTo(element.parent().next("span#error"));
            else
                error.appendTo(element.parent().next("div#error"));
            //error.appendTo ('div#error').show().fadeOut(4500);
        },
        success: function (label) {
            // set &nbsp; as text for IE
            label.html("&nbsp;").addClass("checked");
        }
    });
});
</script>

我有这个脚本来验证表单,这个脚本对我的表单运行良好,我想在验证所有字段时运行一个函数,这意味着输入是正确的,如果我在成功内调用函数,那么它每次在单个输入时运行已验证,但我想在所有输入正确后调用它,请帮助,我正在尝试与过去一小时不同的方法,但没有结果..

4

4 回答 4

1

下面的代码对我有用

jQuery(document).ready(function() {

var validator = jQuery("#login").validate({

    rules: {

            pwd: "required",

        log: {

            required: true,

            email:true,

        },

    },

    messages: {

        pwd: "Please enter password",

        log: {

            required: "Email is required",

            email:"Please enter a valid Email Address",

        }

    },

    submitHandler: function(form) {
        // call your function
        $("#login")[0].submit(); 
    }

});

});
于 2014-12-08T14:45:42.317 回答
0

我曾经遇到过类似的问题。也许我的方法也可以帮助你。

每个输入在验证时都添加了一个validinvalid类。

然后我只是循环输入并检查它们是否都有效:

function allValid(inputs) {
  for(var x = 0; x < inputs.length; x++) {
    if(!$(inputs[x]).hasClass('valid')) {      
      return false;
    }
  }
  return true;
};

var myInputs = $('#MyForm input');

if(allValid(myInputs)) {
  // All inputs are valid!
}
于 2013-02-22T22:36:33.043 回答
0

做一个计数器:

var 成功验证 = 0;

在你的成功函数中添加它:

成功:函数(标签){成功验证++;}

验证后,检查验证的所有元素的数量:

if(validatedElementsCount === successfulValidations) {
    doSomething();
}
于 2012-07-05T13:07:44.983 回答
0

您可以使用 validator.form() 方法来验证表单

var validator=$("#find_your_form").validate({onsubmit: false});
......................................
if(validator.form()){
  //Validate passed
  ohYeh();
} else {
  //Validate 
  ohCrap();
}
于 2012-07-05T13:08:23.073 回答