jQuery-Validation-Engine - 与Form Data发送方法结合使用

时间:2013-06-12 12:12:53

标签: jquery ajax jquery-validation-engine

我使用jQuery FormData方法提交表单,并希望将其与jQuery-Validation-Engine结合使用。

我的代码:

$(document).ready(function() {

    $("#myform").validationEngine(); 

    $(':submit').click(function(e){
        e.preventDefault();


        var formData = new FormData($('#myform')[0]);
        $.ajax({
            url: 'upload.php',
            type: 'POST',
            xhr: ...
            beforeSend: beforeSendHandler,
            success: completeHandler,
            error: errorHandler,
            data: formData,
            cache: false,
            contentType: false,
            processData: false
        });

    });



    function beforeSendHandler() { 

    }

使用上面的代码,验证在从输入字段更改为输入字段时起作用。但是当用户按下提交按钮时,我需要进行最终验证。 如果存在验证错误,则应停止提交。

那么,我该如何整合该功能呢? (由于此FormData操作似乎会覆盖validationEngine。)

1 个答案:

答案 0 :(得分:0)

试试这个

$(':submit').click(function(e){
 $("#myform").validationEngine(
 {
  onValidationComplete: function(form, status){
      if(status == true){
        submitMessage();                
    }
 });
});

function submitMessage()
 {
var formData = new FormData($('#myform')[0]);
    $.ajax({
        url: 'upload.php',
        type: 'POST',
        xhr: ...
        beforeSend: beforeSendHandler,
        success: completeHandler,
        error: errorHandler,
        data: formData,
        cache: false,
        contentType: false,
        processData: false
    });

}