Fine-Uploader - 验证"特定"对于每个拖放元素

时间:2015-03-01 17:27:08

标签: jquery validation fine-uploader

在过去两周内处理Fine Uploader,我从文档中看到有一个"验证" " extraButtons"的选项Fine Uploader的选项。这很棒,因为我可以限制某些按钮只允许某些扩展。

但是,我想知道是否有针对" dragAndDrop.extraDropzones"选项。

我没有在文档中看到它,我试图做一些我认为可能偶然起作用的事情,但最后没有运气。

非常感谢您的帮助。

谢谢!

干杯, 托马斯

更新

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

我只允许JPG文件进行按钮点击:

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

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

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

这里有一些注意事项供您测试:   - 尝试单击"测试1",选择一个非jpg文件。它会导致验证错误,因为我只允许" jpg"文件。   - 然后,尝试将非jpg文件(假设您正在使用Chrome)拖入"测试1"。它实际上会通过,因为目前没有验证。

谢谢!

2 个答案:

答案 0 :(得分:0)

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

例如:

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

说“只要点击了额外的按钮,只有点击了额外的按钮,才能验证扩展是否正常。”

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

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

Here is the your fiddle with it included

答案 1 :(得分:0)

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

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