18

我们正在使用 Knockout.js 和 Knockout-validation 插件。当用户返回存在验证错误的页面时,我们希望显示错误消息。有谁知道是否可以在不实际更改绑定答案的情况下触发淘汰赛验证?

4

1 回答 1

48

解决方案是调用 showAllMessages。如果视图模型有嵌套的 observables,请务必将 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

于 2012-08-24T13:36:19.220 回答