我们正在使用Knockout.js和Knockout-validation插件。 当用户返回到具有验证错误的页面时,我们希望显示错误消息。有没有人知道是否可以触发敲除验证而不实际更改绑定答案?
答案 0 :(得分:45)
解决方案是调用showAllMessages。如果视图模型具有嵌套的observable,请务必将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