javascript - 如何删除 JQuery Multifile 中的警报验证

标签 javascript jquery validation jquery-plugins

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

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("").

<小时/>

关于将字段设置为必填,您不必在插件或任何内容中进行更改,只需表明您的字段是必填,然后感谢 HTML5 和浏览器的魔力,伎俩就完成了:

<input multiple type="file" id="WithEvents" required />
<小时/>

您可以在此处查看一个示例:http://jsfiddle.net/8ma0vmxd/ (我直接在 JS 窗口上复制了插件的代码,这样您就可以轻松地看到 alert() 位于末尾的位置)。

关于javascript - 如何删除 JQuery Multifile 中的警报验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28766508/

相关文章:

javascript - 将 Prop 传递给 sibling reactJS 时未定义

c# - 在 session 过期之前提醒用户,可以选择续订 session

javascript - Oracle apex,在每个字段必须为空的情况下禁用提交页面按钮,如何?

javascript - 消失的转变

java - Vaadin 中的跨域验证策略

javascript - jQuery 验证器 addMethod 总是返回 false

Javascript/jQuery 提交表单验证

JavaScript 警报不起作用

javascript - jquery 桌面阻止输入和文本区域

javascript - 是否有办法使用外部 Javascript/jquery 文件检测 Shopify 中的变体更改?