0

我正在创建一个 javascript 函数,它将调用 ajax 调用来验证表单的模型。

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

        // code remove for brevity  

        }
    });
}

这将由 CustomController 中的此 Action 处理

[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 回答