我的目标是在输入上应用一个敲除所需的验证器,该输入是视图模型上的集合的一部分,并在foreach绑定中可见。这就是我到目前为止的错误 - 错误总是变为0,不确定我在哪里出错。
var vm = {
myCollection: myCollection, <-- im binding the foreach onto this property, and consists of a collection of Items
submit: function () {
if (vm.errors().length == 0) {
alert('Thank you.'); <-- errors is always 0
} else {
vm.errors.showAllMessages();
app.showMessage('There were some errors...', '');
}
}
};
var Item = function (data) {
self.name = ko.observable().extend({ required: true });
}
vm["errors"] = ko.validation.group(vm);
<div data-bind="foreach: myCollection">
<input type="text"
data-bind="value: name,
validationOptions: {errorElementClass: 'input-validation-error' }" />
答案 0 :(得分:0)
来自我的罕见修复..
将此添加到项目模型
self["itemerrors"] = ko.validation.group(self);
然后在vm的提交方法中走了数组
ko.utils.arrayForEach(vm.mycollection(), function (name) {
name.itemerrors.showAllMessages();
});
有效处理