在完成所有验证时调用成功jQuery验证插件的函数

问题描述:

<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> 

我有此脚本来验证窗体,此脚本为我的窗体运行良好,我想在验证所有字段时运行函数,输入是正确的,如果我调用函数内的成功,然后它每次运行时,单个输入验证,但我想调用它后,所有的输入是正确的,请帮助,我尝试不同的方式从最后一小时,没有结果。 。在完成所有验证时调用成功jQuery验证插件的函数

使一个计数器:

变种successfulValidations = 0;

添加到它在你的成功的功能:

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

验证后,核对验证所有元素的个数:

if(validatedElementsCount === successfulValidations) { 
    doSomething(); 
} 

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

var validator=$("#find_your_form").validate({onsubmit: false}); 
...................................... 
if(validator.form()){ 
    //Validate passed 
    ohYeh(); 
} else { 
    //Validate 
    ohCrap(); 
} 

我已经曾经有类似的问题。也许我的方法也可以帮助你。

验证时,每个输入都添加了一个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! 
} 

下面的代码为我工作

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(); 
    } 

}); 

});