2014-04-07 61 views
2

如果用戶沒有在字段中輸入最少50個字符,我想在窗體中禁用我的提交按鈕。我想過使用這樣的條件:使用ng禁用的幾個條件

ng-disabled="addJobForm.$invalid && myInput.length > 50" 

但它不工作。我不明白的是,如果我打印我的條件的值是這樣的:

{{addJobForm.$invalid && myInput.length > 50}} 

的值是否正確。

我在做什麼錯?

+0

似乎罰款代替「& &」 ...... NG-禁用期待的表情,所以你不應該使用{{addJobForm。 $ invalid && myInput.length> 50}} ...這裏是工作plunker http://plnkr.co/edit/tpl:FrTqqTNoY8BEfHs9bB0f –

回答

1

我建議您在輸入元素中使用ng-minlength = 50,並從提交按鈕中刪除第二個條件。直到您的輸入字段無效提交按鈕保持禁用狀態。還有其他屬性也像ng-maxlength或ng-pattern(用於正則表達式)。

欲瞭解更多詳情,你可以閱讀本文檔Angular's input validation

+0

添加ng-minlength作品來禁用提交按鈕。但是,我有一個字符計數器(即至少輸入了{{50 - myInput.length}}個字符),當我添加ng-minlength時,該字符停止工作。任何想法爲什麼? – Spearfisher

0

嘗試將此代碼移入範圍。喜歡的東西

$scope.invalidFormOrLimitExceeded = function() { 
    return 'addJobForm.$invalid && myInput.length > 50' 
} 

ng-disabled="invalidFormOrLimitExceeded()" 

而且看它是否有助於