Как создать одно сжатое сообщение об ошибке с 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>

http://jsfiddle.net/pqd5ds1x/1/

Другие вопросы по тегам