2016-08-15 58 views
1

我使用AngularJSs可編輯文本來使事物可變。我現在的問題是,它有可能禁用確認,而data-e-ng-change爲false?AngularJS可編輯文本 - 如果驗證失敗,請關閉按鈕

<span editable-text="vm.foundedUser.username" data-e-ng-change="vm.checkUsername($data)" onbeforesave="vm.checkUsername($data)" onaftersave="vm.updateUser()"> 
    {{vm.foundedUser.username || '--'}} 
</span> 

我checkUsername功能如下:

function checkUsername(username) { 
     if(username.length < 5) { 
      return false; 
     } 
     validateService.checkUniqueUsername(username).success(function(response) { 
      return response.data; 
     }).error(function(e){ 
       console.log('error in management.controller.js#checkUsername'); 
     }); 
    } 

,但它不工作,我猜是因爲validateService.checkUniqueUsername是asynchron但我仍然不知道。

+0

可以使用NG-如果 –

+0

'<按鈕類型= 「提交」 NG-禁用= 「vm.foundedUser.username $質樸。」>提交'。這利用Angular的內置輸入狀態修改器來檢測字段何時被修改。 –

+0

我不能這樣做,是否有檢查證明這一點?非常感謝! – quma

回答

0

試試這個: <button type="submit" ng-disabled="vm.checkUsername($data)"> Submit </button>

+0

但仍然有一個可編輯文本按鈕? – quma