1

我有一个消息字段和people被绑定在一个无序列表中的集合,每个字段都带有一个颜色下拉列表和一个默认选择。

消息字段上的验证有效,擦除文本并显示错误并且错误计数增加。但是,当您将下拉条目之一更改为“选择..”(实际上取消选择该选项)时,您会正确收到“此字段是必需的”消息,但errors对象似乎没有更新。这显然与它是一个集合的事实有关?当您按下提交按钮或查看跨度数据绑定时,请了解我的意思。

我还需要验证以启动动态添加的行,因此当您按下“添加另一行”时,我也需要错误对象来增加它。

http://jsfiddle.net/goneale/TJGS3/

有人可以看看这个并帮助我吗?

4

1 回答 1

1

更新: 使用最新版本的验证库,您可以使用 live: true 选项让它监听 observableArrays

grouping: { deep: true, observable: true, live: true }

http://jsfiddle.net/fYrbt/29/

老答案:

遗憾的是,当插入新项目时,该组没有得到重新评估。订阅数组并明确执行。

this.items.subscribe(function() {
     this.errors = ko.validation.group(this);
     this.errors.showAllMessages();
}, this);

http://jsfiddle.net/fYrbt/

于 2013-04-26T06:56:38.103 回答