【问题标题】:See the Validation Summary in the controller查看控制器中的验证摘要
【发布时间】:2011-10-17 23:50:53
【问题描述】:

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 谢谢,这正是我想要的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多