当我打开一个带有uploadcare的对话框时,我试图限制文件类型(只有mp3文件)。
uploadcare.loadFileGroup(soundGroupID)
.done(function (fileGroup) {
uploadcare.openDialog(fileGroup.files(), {
multiple: true,
multipleMin: 0,
fileTypes="mp3"
}).done(
function (file) {
file.promise().done(
function (fileInfo) {
//TODO Something
});
});
})
.fail(function () {
// Something went wrong.
});有什么办法来推送验证器吗?有任何方式访问小部件吗?如您所见,我正在打开一个对话框,因此无法访问任何地方的小部件。
发布于 2014-11-10 18:55:33
不幸的是,当前API中没有用于对话框的验证器,只有小部件。但是您可以创建假小部件并在其上使用.openDialog()方法。
uploadcare.loadFileGroup(soundGroupID)
.done(function (fileGroup) {
var widget = uploadcare.MultipleWidget('<input data-multiple multiple-min="1">');
widget.validators.push(function(info) {
if (info.name !== null) {
if ( ! /\.mp3$/i.test(info.name)) {
throw Error('mp3-only');
}
}
});
widget.openDialog(null).done(
function (file) {
file.promise().done(
function (fileInfo) {
//TODO Something
});
});
})
.fail(function () {
// Something went wrong.
});或者,您可以在私有__validators选项中传递验证器列表,但这是内部API,可以在以后的版本中更改。
https://stackoverflow.com/questions/26850555
复制相似问题