18

Knockout.jsとKnockout検証プラグインを使用しています。ユーザーが検証エラーのあるページに戻ったときに、エラーメッセージを表示する必要があります。バウンドアンサーを実際に変更せずにノックアウト検証をトリガーできるかどうか誰かが知っていますか?

4

1 に答える 1

48

解決策は、showAllMessagesを呼び出すことです。ビューモデルにネストされたオブザーバブルがある場合、デフォルト値がfalseであるため、必ずko.validation.configureを設定してディープグループ化を使用してください。

例:

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 に答える