Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/365.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将jQuery验证设置为检查并允许空文件扩展名_Javascript_Jquery_Jquery Validate - Fatal编程技术网

Javascript 将jQuery验证设置为检查并允许空文件扩展名

Javascript 将jQuery验证设置为检查并允许空文件扩展名,javascript,jquery,jquery-validate,Javascript,Jquery,Jquery Validate,我们正在使用jQuery validate在文件上载时将文件扩展名列入白名单: $("#new-job-form").validate({ focusCleanup: true, focusInvalid: false, ignore: [], rules: { jobServices: "required", file: { required: true, filesize: max

我们正在使用jQuery validate在文件上载时将文件扩展名列入白名单:

$("#new-job-form").validate({
    focusCleanup: true,
    focusInvalid: false,
    ignore: [],
    rules: {
        jobServices: "required",
        file: {
            required: true,
            filesize: maxFileSize,
            extension: '.tsv|.txt|.csv|.psv|.xls|.xlsx|.zip|.7z|.rar'
        }
    }
});
这个很好用。然而,一个新的要求是接受dob根本没有扩展名的文件,我不知道如何通过jqueryvalidate实现这一点。我尝试添加一个空分区:

extension: '.txt|.csv|.xls|.xlsx|.zip|.7z|.rar||'
但它仍然拒绝没有扩展名的文件


是否有办法将模块配置为接受不带扩展名的文件?

我建议您创建自己的规则;与扩展名相同的规则,但如果文件名不包含点,则添加检查

value.indexOf('.') == -1;
请参阅下面的代码片段:

//添加extensionempty规则
$.validator.addMethod(“extensionempty”,函数(值、元素、参数){
param=typeof param==“字符串”?param.replace(/,/g,“|”):“png | jpe?g | gif”;
console.log(值,参数);
返回此.optional(element)| value.match(新的RegExp(“\\”(“+param+”)$”,“i”))| value.indexOf('.')=-1;
},$.validator.format(“请输入具有有效扩展名的值。”);
$(“#新工作表”)。验证({
focusCleanup:没错,
焦点无效:错误,
忽略:[],
规则:{
文件:{
要求:正确,
扩展空:“tsv | txt | csv | psv | xls | xlsx | zip | 7z | rar”
}
}
});

.tsv |.txt |.csv |.psv |.xls |.xlsx |.zip |.7z |.rar文件允许:


我会尝试阅读文档。似乎使用a可以满足您的需要,但您必须创建它。在何处/如何/何时有没有文件扩展名的文件?顺便说一句,Windows和Mac都会强制使用文件扩展名,即使操作系统“隐藏”扩展名,它们仍然存在。请注意标签垃圾邮件。jQuery验证引擎不是同一个插件。已编辑。@Sparky谢谢您的编辑。我不打算争论“隐藏”扩展名,但如果你在windows中编辑文件并删除扩展名,我可以抛出的所有代码都不会在文件末尾找到后缀。我并不是说这是绝对不可能的。只是想知道,从实际的角度来看,有人会想要一个没有扩展名的文件。。。以及为什么你想让它上传。