3
我正在使用KnockoutJS和敲除驗證。我正在使用屬性errorElementClass
,但是,我希望能夠在驗證錯誤得到糾正時爲其分配另一個類。這個類只在元素遇到錯誤並且已被糾正後才被分配給元素。敲除驗證糾正錯誤
有沒有人嘗試過這種事情?
我正在使用KnockoutJS和敲除驗證。我正在使用屬性errorElementClass
,但是,我希望能夠在驗證錯誤得到糾正時爲其分配另一個類。這個類只在元素遇到錯誤並且已被糾正後才被分配給元素。敲除驗證糾正錯誤
有沒有人嘗試過這種事情?
你可以體質的變化增加了觀測和可訂閱IsValid屬性
喜歡這個
ko.extenders.corrected = function(observable) {
observable.isCorrected = ko.observable();
observable.isValid.subscribe(function(value) {
observable.isCorrected(value == true);
});
return observable;
};
您需要手動綁定的CSS
<input data-bind="value: field, css: { corrected: field.isCorrected }" />
你也可以做一點小事o你不需要手動綁定css。這將覆蓋值綁定,並檢查它是否應該注入一個CSS結合 http://jsfiddle.net/HuLWD/
更新:我需要這個功能我自己由於需求和記住這個答案,但我也需要它來清除修正狀態如果第二個正確的值已提交,也可以像achived
ko.extenders.corrected = function(observable) {
var state = observable();
observable.isCorrected = ko.observable();
observable.isValid.subscribe(function(value) {
observable.isCorrected(value == true);
state = observable();
});
observable.subscribe(function(value) {
if(state !== value) {
observable.isCorrected(false);
}
});
return observable;
};
謝謝,安德斯.....正是我一直在尋找。 – Tom
如果您希望在提交第二個正確的值時清除更正的標誌,則需要獲得更多的創意 – Anders