Validation 数组对象内部可观测项的剔除验证错误
我将验证库[Knockout Validation][1]与Knockout 2一起使用。尽管UI正确显示了对象数组中可观察属性的验证错误。ko.validation.group函数不跟踪这些错误。查看源代码,我看到它只检查数组对象本身的可观察性,而不是内部可观察属性 我有一系列这样的东西Validation 数组对象内部可观测项的剔除验证错误,validation,knockout-2.0,Validation,Knockout 2.0,我将验证库[Knockout Validation][1]与Knockout 2一起使用。尽管UI正确显示了对象数组中可观察属性的验证错误。ko.validation.group函数不跟踪这些错误。查看源代码,我看到它只检查数组对象本身的可观察性,而不是内部可观察属性 我有一系列这样的东西 function Game(bowlerId, name, g1, g2, g3, g4) { this.BowlerId = bowlerId; this.Name = name;
function Game(bowlerId, name, g1, g2, g3, g4) {
this.BowlerId = bowlerId;
this.Name = name;
this.Game1 = ko.observable(g1).extend({ required: true, min:1, max:300 });
this.Game2 = ko.observable(g2).extend({ required: true, min: 1, max: 300 });
this.Game3 = ko.observable(g3).extend({ required: true, min: 1, max: 300 });
this.Game4 = ko.observable(g4).extend({ required: true, min: 1, max: 300 });
}
我用的是:
viewModel.errors = ko.validation.group(viewModel.Games);
或者
viewModel.errors = ko.validation.group(viewModel);
在这两种情况下,上面的单个属性(Game1、Game2等)都不会在group函数返回的erros中跟踪。不过,验证错误确实会出现在UI中。目前,我必须查询DOM以查看用户是否提出了验证错误。有什么办法可以让它工作吗?你试过了吗
viewModel.errors = ko.validation.group(viewModel.Games, { deep: true });
由于这个问题,我放弃了击倒,不再使用核心依赖于其他库(不支持)的框架。验证非常关键,它必须是基础框架的一部分并由基础框架支持。我现在是一个非常快乐的AngularJS用户。谢谢你的努力。