我不明白奇怪的淘汰賽驗證異步驗證器行爲。如果我和這個驗證器中的其他可觀察元素一起工作,驗證過程變得無窮無盡。請看jsFiddle example。如果我刪除字符串4,5或8,它將正確工作。無盡的異步淘汰賽驗證
ko.validation.rules.asyncValidator = {
async: true,
validator: function (val, vm, callback) {
vm.bar();
vm.bar(true);
setTimeout(function() {
console.log('validating ...');
vm.bar(false);
callback(true);
}, 1000);
}
};
ko.validation.registerExtenders();
vm = {
foo: ko.observable(),
bar: ko.observable()
};
vm.foo.extend({asyncValidator: vm});
ko.applyBindings(vm);
小提琴並沒有真正顯示問題。 –
爲什麼?你看到控制檯輸出了嗎? – imbolc
我的不好。我現在看到它。對於那個很抱歉。 –