Ответ 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