Мы используем Knockout.js и плагин проверки нокаута. Когда пользователь возвращается к странице с ошибками проверки, мы хотим, чтобы отображались сообщения об ошибках. Кто-нибудь знает, возможно ли инициировать проверку нокаута без фактического изменения связанного ответа?
Проверка нокаута - как показывать сообщения об ошибках
Ответ 1
Решение - вызвать showAllMessages. Если модель представления имеет вложенные наблюдаемые данные, обязательно установите ko.validation.configure для использования глубокой группировки, поскольку значение по умолчанию - false.
Пример:
viewModel.save = function()
{
var result = ko.validation.group(viewModel, {deep: true});
if (!viewModel.isValid())
{
alert("Please fix all errors before preceding");
result.showAllMessages(true);
return false;
}
//actually save stuff, call ajax, submit form, etc
}
В качестве альтернативы вы можете заменить !viewModel.isValid()
на result().length > 0