【发布时间】:2012-12-26 05:30:07
【问题描述】:
我有一个不需要验证的文件输入框。但是如果输入框不为空,那么我希望执行文件类型和文件大小的验证。
jQuery(document).ready(function(){
jQuery.validator.addMethod("accept", function(value, element, param) {
return value.match(new RegExp("." + param + "$"));
});
jQuery.validator.addMethod('filesize', function(value, element, param) {
return this.optional(element) || (element.files[0].size <= param)
});
jQuery('#adminform').validate({
rules: {
resume: {
required: false,
accept: "(doc|docx|pdf)",
filesize: 1024 //1048576
}
},
......................
resume: {
accept: "File type not supported",
filesize: "File cannot be more than 1MB!"
},
现在的问题是,即使我不提供任何输入并将其留空,我也会执行 "accept" 规则,即我收到消息 "File type not支持”。
【问题讨论】:
-
这里的事情是我不想强制该字段,我只想在用户上传文件时验证输入
-
在该输入文件字段的更改事件中使用。
-
$("input[type=file]").on("change", function() { $(this).validate({ }); }); -
我很抱歉,但我只是想知道在我的情况下我必须把这条线放在哪里,我对 jquery 很陌生,我对验证插件有点了解