gpt4 book ai didi

javascript - jQuery 验证器不适用于文件输入类型

转载 作者:行者123 更新时间:2023-11-29 10:12:28 25 4
gpt4 key购买 nike

我正在尝试使用 jQuery 验证器插件对文件输入类型进行验证。文件输入类型应仅接受扩展名为 .jpeg、.jpg 和 .png 的图像,文件大小不应大于 1MB。其他输入字段的验证工作没有任何问题。必需的验证适用于文件输入类型。

可能是什么问题?

Javascript

jQuery.validator.addMethod('filesize', function(value, element, param) {
return this.optional(element) || (element.files[0].size <= param)
});

$('#form').validate({
rules: {
firstname: {
minlength: 6,
required: true
},
lastname: {
minlength: 6,
required: true
},
file: {
required: true,
accept: "png|jpeg|jpg",
filesize: 1048576
}
},
messages:
{
file: "File must be JPEG or PNG, less than 1MB"
},
highlight: function(element) {
$(element).closest('.form-group').addClass('has-error');
},
unhighlight: function(element) {
$(element).closest('.form-group').removeClass('has-error');
},
errorElement: 'span',
errorClass: 'help-block',
errorPlacement: function(error, element) {
if(element.parent('.input-group').length) {
error.insertAfter(element.parent());
} else {
error.insertAfter(element);
}
}
});

HTML

<form id="form">
<div class="form-group">
<label class="control-label" for="firstname">First:</label>
<div class="input-group">
<input class="form-control" name="firstname" type="text" />
</div>
</div>

<div class="form-group">
<label class="control-label" for="lastname">Last:</label>
<div class="input-group">
<input class="form-control" name="lastname" type="text" />
</div>
</div>

<div class="form-group">
<label class="control-label" for="file">Image:</label>
<div class="input-group">
<input id="file" name="file" type="file" />
</div>
</div>


<button type="submit" class="btn btn-primary">Submit</button>
</form>

Fiddle that doesn't give desired result

最佳答案

...should accept only images with .jpeg, .jpg & .png extension

  1. The accept rule仅适用于 MIME 类型。 The extension rule用于文件扩展名。看起来你应该使用 extension规则而不是 accept .您还需要包括 the additional-methods.js file为了使用这些规则。

  2. 为了访问文件的大小属性,您需要设置 enctype="multipart/form-data" <form> 上的属性标签。

工作演示:http://jsfiddle.net/mv8w3m0c/1/

关于javascript - jQuery 验证器不适用于文件输入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30639448/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com