jQuery验证插件:验证多个输入文件

用户名

我想问一下如何使用jQuery验证插件来验证多个文件输入。

目前,我有以下代码,但无法正常工作:

.html:

<form id="uploadPhotoForm" enctype="multipart/form-data" method="POST">
    <table class= "uploadPhotoTable">
        <tr>
            <td>Photo</td>
            <td>:</td>
            <td><input class="field" type="file" name="files[]" id="upload_photo" align='right' multiple /></td>
        </tr>
    </table>    
</form>

.js:

$('#uploadPhotoForm').validate({
    rules: {
      files: {
      required: true,
      extension: "png"
    }
    },
    messages:{
        files:{
           required : "Please upload atleast 1 photo",
           extension:"Only png file is allowed!"
        }       
    }
  });

我还将使用此代码发布到新的PHP进行处理。但似乎在我的uploadPhoto.php中$_FILES['files']['tmp_name']是未定义的。我可以知道如何解决这个问题吗?

if ($('#uploadPhotoForm').valid()) {       
    $.ajax({
        url: "inc/uploadPhoto.php",
        type: "POST",
        data:  new FormData(this),
        contentType: false,
        cache: false,
        processData:false,
        success: function(data){
           $("#error1").html(data);
        }           
    });
}
阿肖特·卡纳米尔扬

您需要'files[]'代替files,并且,如果您不添加Additional-methods.js,那么您会做到的。

  $('#uploadPhotoForm').validate({
    rules: {
      'files[]': {
      required: true,
      extension: "png"
    }
    },
    messages:{
        'files[]':{
           required : "Please upload atleast 1 photo",
           extension:"Only png file is allowed!"
        }

    }

参见jsFiddle

关于序列化。请阅读此如何使用jquery序列化上传文件

更新:

会工作的

if ($('#uploadPhotoForm').valid()) {  
    var form = $('#uploadPhotoForm')[0]; //  [0], because you need to use standart javascript object here
    var formData = new FormData(form);
    $.ajax({
        url: "inc/uploadPhoto.php",
        type: "POST",
        data:  formData,
        contentType: false,
        cache: false,
        processData:false,
        success: function(data){
           $("#error1").html(data);
        }           
    });
}

您的代码还没有工作,我想是因为thisdata: new FormData(this),没有有效的JavaScript表单对象。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用验证插件jQuery来验证输入数组

来自分类Dev

jQuery验证不适用于多个选择的所选插件

来自分类Dev

在JQuery Validate中验证多个“命名数组”文件的输入和下拉菜单

来自分类Dev

jQuery通过电子邮件验证多个输入

来自分类Dev

使用jQuery验证插件验证选择

来自分类Dev

jQuery验证动态表单输入上的插件不起作用

来自分类Dev

jQuery验证插件点击按钮

来自分类Dev

使用Jquery验证输入

来自分类Dev

使用jQuery验证插件未执行的验证

来自分类Dev

jQuery验证插件-“ lettersonly”功能

来自分类Dev

验证多个输入

来自分类Dev

多个文件输入和表单验证?

来自分类Dev

jQuery验证插件和ajax发布,然后验证输入

来自分类Dev

jQuery验证插件基于模式的验证?

来自分类Dev

jQuery验证不适用于多个选择的所选插件

来自分类Dev

实时验证输入-JQuery

来自分类Dev

如何使用jquery验证插件来验证输入字段中带有点的名称?

来自分类Dev

同时验证多个输入

来自分类Dev

jQuery验证插件-不必要的验证

来自分类Dev

JQuery验证插件部分功能

来自分类Dev

通过jquery验证引擎传递多个文件以进行ajax验证

来自分类Dev

多个jQuery验证引导插件不会验证多种形式

来自分类Dev

如何在jQuery验证插件中为多个最小值验证应用不同的条件?

来自分类Dev

jQuery验证插件:成功函数

来自分类Dev

jQuery验证插件,包括文件验证和动态字段

来自分类Dev

在 jquery 验证插件中使用获取动态输入数组的索引

来自分类Dev

使用 jquery 插件验证输入文件

来自分类Dev

JQuery 验证插件 onclick 链接

来自分类Dev

如何使用 jQuery 验证插件在 keyup 上验证非表单元素中的输入

Related 相关文章

热门标签

归档