我有一个包含文件输入元素的表单。我尚未将其要求设置为 true。尽管如此,它还是告诉我选择一个文件。消息显示"此字段为必填字段"。我不希望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>
当我输入一个文件时;它工作正常。它验证文件。但是,当我不选择任何文件时。然后它不应该验证此元素,但它仍然验证输入文件元素。如果我向 img 提供"必需:false"作为规则,它甚至不起作用。请帮忙。
我有一个包含文件输入元素的表单。我尚未将其要求设置为 true。尽管如此,它还是告诉我选择一个文件。
那是因为您在 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
类。字段元素上具有
required
属性。您已使用
jQuery.validator.addClassRules()
方法创建了一个包含required
规则的复合规则,并将此类分配给 field 元素。