如何删除 JQuery 多文件中的警报验证

How to Remove alert validation in JQuery Multifile

我正在使用 jquery 多文件上传插件 http://www.fyneworks.com/jquery/multifile 可以 select 文档但是当我尝试 select 错误的文件时它显示验证消息作为警告

You cannot select a .mp4 file. Try again...

如何显示验证短信而不是警告消息?此外,任何使用此插件为文件添加“必需”验证的可能性。

我看到你了posted the question also in the plugin's Github。当您等待创作者的回复时。您可以使用以下两个 "hacky" 选项:

  1. 修改插件的本地版本并删除代码末尾的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
    }
    
  2. 如果文件失败则停止事件传播:使用插件提供的验证事件停止执行警报(特别是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 window 上复制了插件的代码,所以你可以很容易地看到 alert() 在哪里结束)。