0

フォームのモデルを検証するためにajax呼び出しを呼び出すjavascript関数を作成しています。

function ValidateModel(formID) {
    $.ajax({
        url: '/Custom/ValidateModel',
        type: 'POST',
        data: $('#' + formID).serialize(),
        dataType: 'json',
        processData: false,
        success: function (data) {

        // code remove for brevity  

        }
    });
}

これは、CustomControllerのこのアクションによって処理されます

[HttpPost]
    public ActionResult ValidateModel(CustomModel model)
    {          
            if (!ModelState.IsValid)
            {
                 // code remove for brevity
            }
            return Json(customObject, JsonRequestBehavior.DenyGet);

    }

CustomModelオブジェクトを使用してフォームを渡す場合、自動バインドは問題なく機能します。私が作成したいのは、モデルを検証するためのサーバー上の汎用ハンドラーです。私は次のようなものでそれを達成したいと思います:

public ActionResult ValidateModel(GenericModel model)
{

}

サーバー上でさまざまなモデルタイプのさまざまなフォームを渡すことができるようにします。

ありがとう!

4

1 に答える 1

1

すべてのモデルが実装して持っているインターフェイスを使用できますか

public ActionResult ValidateModel(IViewModel model)
{

}

IViewModel インターフェイスを実装する任意のモデルを渡すことができます。

それとも、抽象基本クラスを使用できますか?

于 2011-11-03T16:15:10.097 に答える