Как создать одно сжатое сообщение об ошибке с ko.validation.group?
У меня есть много групп ошибок, которые выполняются согласно условию условию.
@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.
Как я могу? Я думаю, что если я смогу программно перебирать наблюдаемые, которые находятся внутри этой группы, я мог бы произвести выше div
eaisly?
PS: я знаю, что могу использовать сообщения об ошибках шоу с .showAllMessages()
,
1 ответ
Сначала вы должны отключить 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>