【问题标题】:ASP.Net MVC Error Validation - How to display validation message when passing a custom view model to a viewASP.Net MVC 错误验证 - 如何在将自定义视图模型传递给视图时显示验证消息
【发布时间】:2009-12-21 18:42:38
【问题描述】:

我一直在向我的应用程序添加错误和业务验证,当我使用强类型化到一个模型的视图(比如位置)进行测试时,我会得到验证摘要以及每个字段的验证消息'不通过,加上我的css按预期突出显示适当的字段......

...当我尝试使用强类型化到自定义视图模型的视图时,假设我传递了它的位置 - 所以用户可以输入一个新的,以及

IEnumerable<Location> locations

,因此它将在新位置表单下方列出所有现有位置。当我这样做时,我得到了验证摘要,但没有显示每个字段的消息,也没有将 * 和突出显示应用于每个不正确的字段的 css。

我正在使用 Linq to SQL,因此我已将所有验证添加为部分类,因此在这种情况下,所有验证都来自部分类位置,据我了解,它将与 linq 到的设计器文件一起编译sql 创建并添加我的业务验证。发生此问题是因为我没有传递视图 MyApp.Models.Location,而是传递了 MyApp.Models.MyCustomViewModel?如果是这样,我最好的方法是什么,以便我可以只使用一种表单来创建和列出?

【问题讨论】:

    标签: c# asp.net-mvc linq-to-sql validation views


    【解决方案1】:

    我能够让它工作 - 我将我的 POST 方法中的返回值更改为返回

    return View(new MyCustomViewModel(location) { });
    

    而不是

    return RedirectToAction(new MyCustomViewModel(location) { });
    

    希望如果有人偶然发现我遇到的同样问题,这会有所帮助 - 这是我自己对 View 与 RedirectToAction 的工作方式不同的误解。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2016-04-20
      • 2010-11-18
      • 2017-10-19
      • 1970-01-01
      • 2017-03-11
      相关资源
      最近更新 更多