2013-12-18 34 views
0

我正在使用ng-upload並試圖在表單上同時使用ng-upload-before-submit和ng-upload-loading。但後者被調用,而前者(我想在表單提交之前做一些驗證)不會。任何人都可以請提供一些方向嗎?我的HTML代碼如下。ng-upload-before-submit沒有被調用

<form id='picUpload' name='picUpload' ng-upload-before-submit="validate()" method='post' data-ng-upload-loading="submittingForm()" action='uploadProfilePic' data-ng-upload='responseCallback(content)' enctype="multipart/form-data"> 

    <fieldset class="control-group" id="username_fieldset"> 
     <label class="control-label" for="user_screen_name">Username</label> 
      <div class="controls"> 
      <p class="notification" id="username_notification"></p> 
      <input type="text" name="name" data-ng-model="user.name" maxlength="15" id="user_screen_name"> 
     </div> 
    </fieldset> 

在我app.js正在做以下幾點:

 $scope.submittingForm = function(){ 
     //set some flag and etc 
     } 

     $scope.validate = function(){ 
     //check if the input field is valid 
      if(valid field){ 
      alert("checked status"); 
      return true; 
      } else { 
      return false; 
      } 

將是這裏的任何指導,不勝感激!

感謝和問候!

+0

請提供您正在使用的指令的鏈接。 –

+0

這是我從哪裏上傳的。 – 5122014009

回答

1
  • 「ng-upload-before-submit」是錯誤的。它應該是 ng-選項 -upload-before-submit。 (我犯了同樣的錯誤,下面的自述文件)

  • 的NG-上傳裏面我改變了兩件事情:

    • 我更新NG-upload.js文件下列https://github.com/twilson63/ngUpload/pull/94
    • 我還定製ng-upload.js,這樣我在調用ng-upload-before-submit相應函數(控制器內部的那個函數)期間所做的更改範圍可以通過angularjs理解。 (這些變化對我來說很好......不知道它是否做得好)。請注意,控制器函數應該返回true,以便可以調用apply。

我漂亮的NG-upload.js內一些變化:

if (options.beforeSubmit) { 

var back=options.beforeSubmit(scope); 

if (back) {scope.$apply(function() {}); 
      } 
      return back; 
      } 

PS:我要感謝ngUpload的作者爲自己漂亮的圖書館。