Отображение сообщений проверки сразу после привязки с помощью Knockout Validation

С Knockout Validation кажется, что проверка выполняется только при нажатии клавиши на элементе управления, что может изменить наблюдаемое значение.

Когда я связываюсь в первый раз, проверка не выполняется (сообщения не отображаются, если начальные значения недействительны). Мне просто нужно сосредоточиться на одном из моих элементов управления вводом, написать письмо и расфокусировать его, чтобы выполнить проверку.

Как я могу рекурсивно отображать все сообщения вокруг каждого элемента управления сразу после первой привязки? Я попробовал решение group, но у меня есть вложенная иерархия validatedObservable, это приводит к превышению maxStackSize


person Edmondo1984    schedule 21.03.2013    source источник


Ответы (2)


Вы можете настроить Knockout.validation для немедленного отображения сообщений.

ko.validation.init({ messagesOnModified: false });

Подробности о конфигурации можно найти на следующей вики-странице: https://github.com/ericmbarnard/Knockout-Validation/wiki/Configuration

person delixfe    schedule 28.03.2013

Вы также можете сделать что-то вроде этого

$(document).ready(function () {
     ko.applyBindings(new vm(), $("#id")[0]);
     $(".validationMessage").css("color", "Red");
     vm.errors.showAllMessages(true);
});
person oCcSking    schedule 09.07.2014