2
我創建了一個指令,驗證行和顯示錯誤是一些行有重複的值,這裏是代碼:如何驗證刪除行?
app.directive('isUniqueRow', function() {
return {
require: 'ngModel',
scope: {
ngModel: '=',
isUniqueRow: '='
},
link: function(scope, ele, attrs, c) {
var rows = scope.isUniqueRow;
scope.$watch('ngModel', function(v) {
if(!v || v == '') {
c.$setValidity('unique', true);
return;
}
var count = 0;
for(var i=0;i<rows.length;i++) {
if(rows[i].key == v) {
count++;
}
}
c.$setValidity('unique', count < 2);
});
}
}
})
它的正常工作,除了一個問題,在這裏看到plunkr:https://plnkr.co/edit/IRkgMPRw3Chd7x43Fzdv?p=preview
問題:
- 的第一行中鍵入的text1
- 添加另一行
- 類型text1再次在第二行,它會顯示錯誤
- 刪除第一行,錯誤仍然在窗體上。
我該如何解決?
它的越野車的工作實施例; 1)類型測試... 2)添加行... 3)在第二行中輸入測試4)添加行5)編輯第一行到test1 6)第2行仍顯示錯誤 – FarazShuja
您沒有要求我進行深度測試你的代碼:-)你必須這樣做。我只回答你的基本問題。那麼,我已經更新了我的答案。請檢查一下。 –
thxxxxxxxxx !!!! – FarazShuja