如何让这个文件输入'not required' in jQuery Validate?

How to make this file input 'not required' in jQuery Validate?

我有一个包含文件输入元素的表单。我没有将其要求设置为 true。尽管如此,它还是告诉我 select 一个文件。消息显示为 "This field is required"。我不想 jquery 验证它。这是我所做的。

jQuery 验证规则和消息:

$.validator.addMethod("file_size_validator", function(value, element) {

    var flag;
    if($(element)[0].files[0].size > 2048000 || $(element)[0].files[1].size > 2048000 || $(element)[0].files[2].size > 2048000){
      flag = false;
    } else{
      flag = true;
    }

   return flag;
  }, "Any file's size should not exceed 2MB");


img: {
        extension: "png|jpg|jpeg",
        file_size_validator: true,
      },

img: {
        extension: 'File should of jpg or jpeg or png extension',
      },


<div class="row">
                <div class="form-group col-md-2">
                    <label style="padding-left:20px;padding-top:10px">Upload images<strong> (Upto 3 images only)<strong></label>
                </div>
                <div class="form-group col-md-4">
                    <input class="form-control" type="file" name="files[]" id="uploaded_files" required="required" multiple>
                </div>
</div>

当我输入文件时;它工作正常。它验证文件。但是,当我没有 select 任何文件时。然后它不应该验证这个元素,但它仍然验证输入文件元素。如果我通常向 img 提供 "required: false",它甚至不起作用。请帮忙。

I have a form which contains a file input element. I have not set its required to true. Still, it is telling me to select a file.

那是因为您在 HTML...

中有 required 属性
<input class="form-control" type="file" name="files[]" id="uploaded_files" required="required" multiple>

删除 required="required" 属性。


如果以下任何一项为真,jQuery 验证插件会将字段设置为 required...

  • 您已在 .validate() 方法的 rules 对象中的字段上声明了 required 规则。

  • 您已在 .rules() 方法中的字段上声明了 required 规则。

  • 您在字段元素上有一个 required class。

  • 字段元素上有一个 required 属性。

  • 您使用 jQuery.validator.addClassRules() 方法创建了包含 required 规则的复合规则,并将此 class 分配给字段元素。