我们使用的是Knockout.js和Knockout验证插件。当用户返回到存在验证错误的页面时,我们希望显示错误消息。有人知道是否有可能在不改变绑定答案的情况下触发淘汰验证吗?
解决方案是调用showAllMessages。如果视图模型有嵌套的可观察对象,请确保将ko.validation.config设置为使用深度分组,因为默认值为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