Я использую библиотеку проверки [Knockout Validation][1] с Knockout 2. Хотя пользовательский интерфейс правильно отображает ошибку проверки для наблюдаемых свойств внутри массива объектов. Функция ko.validation.group не отслеживает эти ошибки. Глядя на источник, я вижу, что он проверяет только наблюдаемость самого объекта массива, а не внутренние наблюдаемые свойства.
У меня есть массив этих
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 и т. д.) выше не отслеживаются в ошибках, возвращаемых групповой функцией. Однако ошибки проверки появляются в пользовательском интерфейсе. В настоящее время мне нужно запросить DOM, чтобы узнать, не вызвал ли пользователь ошибку проверки. Есть ли способ заставить это работать?