1

コードに次の検証の概要があります。

@Html.ValidationSummary(false, "Fix Error", new { id = "valSumId" } )

実行時に検証エラーを追加できる API はありますか? 次のコードは機能しますが、脆く感じられます。ASP.NET MVC チームが次の ASP.NET MVC リリースでエラーを表示するために ul li タグを使用しないことを止めるものは何もありません。

$('input[type=submit]').click(function (e) {
    e.preventDefault();
    if ($('form').valid()) {
        /* ajax submit here */

        if (anErrorOccured) {
            $('#valSumId').removeClass().addClass('validation-summary-errors');
            errorList = $('#valSumId > ul');

                    // the message is variable, coming from JSON, and can be a list
            errorList.append($('<li />').text('Your ordered quantity is above the stock level'));
        }
    }
});
4

2 に答える 2

1

これが私が達成したかったことです (下部の jQuery コードを参照してください): http://www.ienablemuch.com/2011/07/ivalidatableobject-client-side.html

今のところ、クライアント側の検証にエラーを挿入するための API はまだわかりませんが、ul li でエラーをハードコーディングすることは問題ありません。私はすでに達成したいことの素敵なラッパーを作成しているので、将来の任意の時点で jQuery 検証 API を発見すると、プログラムは必要なコード変更から隔離されます。

于 2012-09-29T16:10:18.260 に答える
0

いいえ、ありません。あなたが概説するアプローチは、クライアント側に属していません。「注文した数量が在庫レベルを超えています」などのメッセージは、実際にはサーバーから送信されるはずです。リモート検証またはサーバー側検証を使用して、そのような検証を設定できます。どちらも、手動で追加する必要なく、検証の概要にフィードされます。

于 2011-07-18T17:28:03.753 に答える