如何在 JQuery Multifile 中删除警报验证
Posted
技术标签:
【中文标题】如何在 JQuery Multifile 中删除警报验证【英文标题】:How to Remove alert validation in JQuery Multifile 【发布时间】:2015-04-30 05:59:59 【问题描述】:我正在使用 jquery 多文件上传插件http://www.fyneworks.com/jquery/multifile 可以选择文档,但是当我尝试选择错误的文件时,它会显示验证消息作为警报
您不能选择 .mp4 文件。 再试一次...
如何显示验证文本消息而不是警告消息?此外,任何使用此插件为文件添加“必需”验证的可能性。
【问题讨论】:
【参考方案1】:我见到你posted the question also in the plugin's Github。在您等待创建者的回复时。您可以使用以下两个“hacky”选项:
修改插件的本地版本并删除代码末尾的alert()
:
...
error:function(a)"undefined"!=typeof console&&console.log(a),alert(a)
...
或将其替换为将显示验证文本消息的函数:
...
error:function(a)"undefined"!=typeof console&&console.log(a),myFunction(a)
...
function myFunction(errorMessage)
// PLACE YOUR CODE HERE
如果文件失败则停止事件传播:使用插件提供的验证事件来停止警报的执行(特别是 onFileInvalid
事件)。
$('#WithEvents').MultiFile(
max: 2,
max_size: 100,
accept: 'jpg',
onFileInvalid: function (element, value, master_element, event)
// PLACE YOUR CODE HERE
event.preventDefault();
return false;
,
);
确实,这个event.preventDefault()
不能正常工作,但它会产生一个错误,停止执行警报(我知道这不是最好的解决方案,但它确实有效)。
此外,作为您运行的代码的一部分,您必须将输入的值重置为空文件,否则仍会选择不正确的文件(类似于$("#myInput").val("")
。
关于按要求制作字段,你不必在插件或任何东西中进行更改,只需表明你的字段是required
,然后感谢html5和你的浏览器的魔力,伎俩就完成了:
<input multiple type="file" id="WithEvents" required />
您可以在此处看到一个示例:http://jsfiddle.net/8ma0vmxd/(我直接在 JS 窗口中复制了插件的代码,因此您可以轻松地看到 alert()
的末尾位置)。
【讨论】:
完美快速解决方案!我不想更改插件代码,所以我选择了选项 2。谢谢以上是关于如何在 JQuery Multifile 中删除警报验证的主要内容,如果未能解决你的问题,请参考以下文章
text_multifile_backend 如何为文件名设置动态日期