Knockout.js 如何在foreach绑定中应用敲除验证
我的目标是对作为viewmodel集合的一部分并在foreach绑定中可见的输入应用一个击出所需的验证器。到目前为止,我的错误总是评估为0,不确定哪里出了问题Knockout.js 如何在foreach绑定中应用敲除验证,knockout.js,knockout-validation,Knockout.js,Knockout Validation,我的目标是对作为viewmodel集合的一部分并在foreach绑定中可见的输入应用一个击出所需的验证器。到目前为止,我的错误总是评估为0,不确定哪里出了问题 var vm = { myCollection: myCollection, <-- im binding the foreach onto this property, and consists of a collection of Items submit: function () {
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' }" />
var-vm={
myCollection:myCollection,我的罕见修复
将其添加到项目模型中
self["itemerrors"] = ko.validation.group(self);
然后在vm的submit方法中遍历数组
ko.utils.arrayForEach(vm.mycollection(), function (name) {
name.itemerrors.showAllMessages();
});
工作处理或配置组do be deep,然后self.errors.showAllMessages();在父级上,我将尝试一下,在执行applyBinding时是否配置deep?这是对验证库的配置