2016-12-01 66 views
0

我在github插件上打开了一个问题,但它似乎并不是非常活跃,所以我也在这里问过。使用kartik-v bootstrap文件输入插件无法显示验证错误

我通过ajax发送我的文件,但是当上传失败(因为高度太小)我没有得到真正的错误消息,但我从我的ajax网址得到一个错误,但这个没有任何意义因为没有发送。 我认为ajax路线不应该被调用,但无论如何,我试图玩'fileuploaderror',我得到了想要的错误,但我不知道如何显示它们。在fileuploaderror事件中必须有一个简单的方法,但我不知道它。 任何人都可以帮助我这个吗?

Issue link | Plugin page

感谢

$("#id").fileinput({ 
    uploadUrl: "/ajax/snippet/image/send/78", // server upload action 
    deleteUrl: "/ajax/snippet/image/remove/", 
    uploadAsync: false, 
    showUpload: false, // hide upload button 
    showRemove: false, // hide remove button 
    maxFileCount: maxFile, 
    browseOnZoneClick: true, 
    language: "fr", 
    minImageWidth: 150, 
    minImageHeight: 150, 
    allowedFileExtensions: ["jpg", "jpeg", "gif", "bmp", "png"], 
    multiple: true, 
    maxFileSize: 5000, 
    uploadExtraData: function (previewId, index) { 
     return {key: index}; 
    }, 
    initialPreviewAsData: true, 
    overwriteInitial: false, 
    }).on("filebatchselected", function (event, files) { 
     // trigger upload method immediately after files are selected 
     $(this).fileinput("upload"); 
    }).on('fileuploaderror', function (event, data, msg) { 
     var form = data.form, files = data.files, extra = data.extra, 
       response = data.response, reader = data.reader; 
     // get message 
     alert(msg); 
    }); 
} 

回答

0

好吧,我得到了答案,在我的 “filebatchselected” 事件,我被强迫上传。

我需要检查是否有有效的文件要先上传。

$("#id").fileinput({ 
    uploadUrl: "/ajax/snippet/image/send/78", // server upload action 
    deleteUrl: "/ajax/snippet/image/remove/", 
    uploadAsync: false, 
    showUpload: false, // hide upload button 
    showRemove: false, // hide remove button 
    maxFileCount: maxFile, 
    browseOnZoneClick: true, 
    language: "fr", 
    minImageWidth: 150, 
    minImageHeight: 150, 
    allowedFileExtensions: ["jpg", "jpeg", "gif", "bmp", "png"], 
    multiple: true, 
    maxFileSize: 5000, 
    uploadExtraData: function (previewId, index) { 
     return {key: index}; 
    }, 
    initialPreviewAsData: true, 
    overwriteInitial: false, 
    }).on("filebatchselected", function (event, files) { 
     // trigger upload method immediately after files are selected 
     var filesStack = $('#input-id').fileinput('getFileStack'); 
     if (filesStack.length > 0) { 
      $(this).fileinput("upload"); 
     } 
    }); 
}