我一直试图清除所有错误onload的显示,但这些错误应该在加载后的进一步操作中显示。
我得到了解决方案,但我觉得可以用更好的方式完成
工作解决方案: 这将清除onload消息
ko.utils.arrayForEach(self.MAIN(), function (s) {
ko.utils.arrayForEach(s.STData(), function (s1) {
ko.utils.arrayForEach(s1.SData(), function (s2) {
if (s2.Validation.errors().length > 0) {
s2.Validation.errors.showAllMessages(false);
}
});
});
});
尝试使用group
,但坚持错误,即
object doesn't support property or method 'ismodified' in knokcout validation
。
无效:
var result= ko.validation.group(self.MAIN(), { deep: true });
if (!self.MAIN().isValid()) { // rightly i am getting isvalid false and also showing my error text under it .
result.showAllMessages(false); // error at this line as metioned above.
return true;
}
附加代码:
function data(){
var inner = this;
self.name=ko.observable(""); // i have many observables
self.validation = ko.validatedObservable([
self.name.extend({required true, //custom validations also written})
]);
}
但是我在self.MAIN
我的级别:函数data
对象被推入self.SData
可观察数组,稍后这个被推入self.STData
,最后我把这个推入了# 39; self.MAIN'
所以你可以清楚地看到我正在尝试清除消息onLoad
,但我得到了这个错误。实际上,在我进入验证脚本文件的同时,我发现我在此行收到错误
ko.utils.arrayForEach(validatables(), function (observable) {
observable.isModified(show); // here isModified is undefined
});
任何建议都表示赞赏。