我有很多错误组,根据条件执行。
@errors1 = ko.validation.group [ @foo, @bar ]
@errors2 = ko.validation.group [ @x , @y, @z ]
@errors3 = ko.validation.group [ @apha , @beta, @gama ]
现在出于某种原因,我想创建一个自定义<div>
错误框,它会逐个显示所有错误消息,例如
1. Foo is blank.
2. Bar is not equal to foo.
我怎么样?我想如果我能够在程序上迭代那些在该组内部的observable,我可能能够生成上面的div
eaisly?
PS:我知道我可以使用.showAllMessages()
显示错误消息。
答案 0 :(得分:2)
首先,您必须关闭insertMessages,以便消息不会显示在字段旁边:
ko.validation.configure({
insertMessages: false
});
然后将每个验证组设置为可观察的:
self.errors1 = ko.validation.group([self.firstName, self.lastName]);
然后在您的视图中,您可以遍历顶部的每个验证组的错误,如下所示:
<div data-bind="foreach: errors1">
<div data-bind="text: $data"></div>
</div>