jQuery 验证文件上传

标签 jquery jquery-validate

我正在尝试使用 jQuery Validate 验证 HTML 文件上传

我发现我可以使用元选项,例如:

$("#myform").validate({
   meta: "validate"
})

<input type="file" name="upload" class="{validate:{required:true,accept:'docx?|pdf'}}" />

但它似乎不起作用。无论如何,我需要添加 required 类。那么文件类型检查当然也不起作用。我需要做一些额外的事情吗?

最佳答案

如果您想使用 jQuery 的 validate 来检查文件的大小,您可以通过执行以下操作来实现:

1-加载附加方法文件

<script src="http://cdn.jsdelivr.net/jquery.validation/1.15.0/additional-methods.min.js"></script>

2-添加自定义方法来验证文件大小

$.validator.addMethod('filesize', function(value, element, param) {
    // param = size (in bytes) 
    // element = element to validate (<input>)
    // value = value of the element (file name)
    return this.optional(element) || (element.files[0].size <= param) 
});

3-使用新添加的方法作为验证规则来验证您的输入:

$('#formid').validate({
    rules: { inputimage: { required: true, extension: "png|jpe?g|gif", filesize: 1048576  }},
    messages: { inputimage: "File must be JPG, GIF or PNG, less than 1MB" }
});

注意:当您上传空白文件类型的文件时,使用“接受”验证规则而不是“扩展名”会导致 MIME 类型错误消息。

关于jQuery 验证文件上传,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6212946/

相关文章:

javascript - 更改 javascript 数组中 <a> 元素的文本

javascript - 拖放图像转换为 Base64

javascript - jQuery 使用附加的表单元素进行验证

jquery 验证远程错误 (async=false)

jquery - MVC3 : make checkbox required via jQuery validate?

javascript - jQuery CarouFredSel 插件触发配置

javascript - 通过javascript动态添加html时分离Javascript和Html

javascript - 如何检查 HTML 标签,然后在 jQuery 验证中添加错误

javascript - 如何将 jQuery Validate 错误消息放在标签后面?

javascript - Revolution Slider 和 PrettyPhoto 中的 jQuery 冲突