请参阅控制器中的验证摘要

时间:2011-10-17 23:50:53

标签: asp.net-mvc-3 validation jquery

我的一个MVC页面中有一个强类型的ajax调用(POST)。我不想尝试为此进行客户端验证,并且不会在客户端显示摘要,但是,我想在模型上抛出一些数据注释并在控制器上进行验证;如果验证失败,我想将验证摘要中的内容作为JSON属性发送回来,以便我可以在对话框中将其显示为错误消息。

如何在控制器中为JsonResponse提供验证摘要的文本?

1 个答案:

答案 0 :(得分:8)

如果您尝试获取错误,只需使用ModelState.Errors从控制器获取所有错误。从那里你可以按照你想要的方式制作JSON响应:

var response = new
                    {
                        isValid = ModelState.IsValid,
                        errors = ModelState
                        .SelectMany(ms => ms.Value.Errors)
                        .Select(ms => ms.ErrorMessage)
                    };
return Json(response);