Fine-Uploader - 每个拖放元素的验证 "specific"

Fine-Uploader - Validation "specific" for each Drag and Drop element

这2周和Fine Uploader打交道,我从文档上看到Fine Uploader的"extraButtons"选项有一个"validation"选项。这很棒,因为我可以限制某些按钮只允许某些扩展。

但是,我想知道是否为 "dragAndDrop.extraDropzones" 选项实施了验证。

我没有在文档中看到它,我尝试做一些我认为可能会偶然发生的事情,但最终没有运气。

非常感谢您的帮助。

谢谢!

干杯, 托马斯

更新

为了让您了解我到目前为止所做的事情,这是我目前的代码: http://jsfiddle.net/beamstyle_thomas/fyp5dqwt/5/

我只允许 JPG 文件通过按钮点击:

extraButtons: [
{
    element: $('.file-trigger')[0],
    validation: {
        allowedExtensions: ["jpg"]
    }
},

但是我不知道如何限制拖放...这就是我所拥有的:

dragAndDrop: {
    extraDropzones: [ $('.file-trigger') ]
},

这里有几个注意事项供您测试: - 尝试点击 "Test 1"、select 非 jpg 文件。它会导致验证错误,因为我只允许 "jpg" 个文件。 - 然后,尝试将非 jpg 文件(假设您使用的是 Chrome)拖到 "Test 1" 中。它实际上会通过,因为目前没有验证。

谢谢!

快速浏览后,问题出在您声明验证的位置。

例如:

extraButtons: [
{
    element: $('.file-trigger')[0],
    validation: {
        allowedExtensions: ["jpg"]
    }
},

说 "whenever the extra button is clicked and only when the extra button is clicked, validate that the extension is ok."

不是为每个按钮定义验证,而是在基本级别定义它:

$(document).ready(function () {        
        $("#fine-uploader").fineUploaderS3({   
            validation: {
                allowedExtensions: ["jpg"]
            },
            ...
        });
    });

Here is the your fiddle with it included

尽管其他建议很有价值,但 RayNicholus 的回答是正确的。这是在评论下,所以我在这里发布这个答案。

您可以在 onSubmit 处理程序中检查 File 对象上的 qqDropTarget,如果文件对该特定拖放区无效,则拒绝(return false)。