在添加文件之前验证(自定义)

时间:2014-04-29 16:08:32

标签: javascript fine-uploader

我想确保用户是否登录,然后将任何添加到上传器区域(缩略图)。

validate事件回调中检查内容很容易,但我似乎无法弄清楚如何阻止项目添加到DOM中,即使我在我的false中返回submit验证或qq-upload-fail事件...该项只获得this.holderElm.fineUploader({ template: 'qq-simple-thumbnails-template', // uploaderType: 'basic', request: { endpoint: '/image/upload_image/' + this.settings.uploadID }, validation: { allowedExtensions : ['jpeg', 'jpg', 'gif', 'png'], sizeLimit : this.settings.sizeLimit, itemLimit : this.settings.itemsLimit }, retry: { enableAuto: true } }) .on("validate", this.onValidate.bind(this) ) .on('submit', this.onSubmit.bind(this) ) .on('error', this.onError.bind(this) ) .on('upload', this.onUpload.bind(this) ) .on('complete', this.onComplete.bind(this) ) .on('allComplete', this.onAllComplete.bind(this) ); 类......但如果用户未登录,我想完全不做任何事情...也许验证事件处理程序是不是把这个逻辑放在哪里,而是在哪里?

<小时/> 我的初始化代码(jQuery):

{{1}}

1 个答案:

答案 0 :(得分:1)

使用onSubmit event - 在将项目添加到DOM之前调用的是 - 并返回false或将被拒绝的qq.Promise以禁用添加该项项目到文件列表。

var userLoggedIn = true;

// snippet ...    

onSubmit: function(id, name){
    return userLoggedIn;
},

或承诺:

function isUserLoggedIn(username){
  var promise = new qq.Promise();

  $.get("/api/user/"+username, function(err, data){
      if (err) return promise.failure(err);
      return promise.success(data);
  });

  return promise;
}

// snippet ...  

onSubmit: function(id, name){
    return isUserLoggedIn(username);
},