我找不到任何解決這個,所以這裏是我的問題:淘汰賽驗證消息不插入第一項工作後
我已經設置了驗證一個小表格,在那裏你可以將項目添加到集合(observableArray,稍後實際保存到DB)。
驗證對第一項和驗證消息顯示正常,但第二次驗證消息不會顯示(驗證本身起作用,您不能添加項目)。
這裏是我做的:
- 在newSchool對象
設置驗證,在MainViewModel例如
self.City = ko.observable(item ? item.City : '').extend( { required: true });
構建驗證組
self.schoolErrors = ko.validation.group({ schools: self.newSchool }, { deep: true });
在MainViewModel :檢查錯誤S,否則進軍收集,初始化newSchool觀察到的新的默認值
self.addSchool = function() { if (self.schoolErrors().length > 0) { self.schoolErrors.showAllMessages(); return; } self.schools.push(self.newSchool()); self.newSchool(new School()); self.newSchool().load(); self.schoolErrors = ko.validation.group({ schools: self.newSchool }, { deep: true }); };
爲了調試原因,我打印出來,在學校的物體觀測驗證的參考isValid和isModified值。這些似乎沒有問題。在我插入第一個項目後,isValid和isModified都返回到false。
唯一的問題,如上所述,不再顯示驗證消息。
對我來說也很奇怪:我不使用自定義驗證消息模板,除非在一種情況下,我需要根據計算字段進行驗證。這顯示出來,但「內建」驗證消息不。
有什麼想法嗎?
它的工作原理!謝謝! 新的github網址應該是:https://github.com/Knockout-Contrib/Knockout-Validation/pull/223 – TeYoU