【问题标题】:How to Remove alert validation in JQuery Multifile如何在 JQuery Multifile 中删除警报验证
【发布时间】:2015-04-30 05:59:59
【问题描述】:

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

您不能选择 .mp4 文件。 再试一次...

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

【问题讨论】:

    标签: javascript jquery validation jquery-plugins


    【解决方案1】:

    我见到你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 窗口中复制了插件的代码,因此您可以轻松地看到 alert() 的末尾位置)。

    【讨论】:

    • 完美快速解决方案!我不想更改插件代码,所以我选择了选项 2。谢谢
    猜你喜欢
    • 1970-01-01
    • 2021-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多