【问题标题】:Is it common to use POCOs and model binding to do contextual validation?使用 POCO 和模型绑定进行上下文验证是否常见?
【发布时间】:2015-12-10 02:14:12
【问题描述】:

我注意到在 ASP.NET MVC 中,将模型绑定和验证注释与也与数据库交互的业务对象结合使用是很常见的。

不幸的是,这意味着请求的范围和发生的验证必须始终与域模型保持 1:1 的比例。至少不必编写一堆异常代码。

如果我正在寻找一种在 ASP.NET MVC 中进行上下文验证的方法,是否有任何示例或已被接受的做法是使用表示传入数据的 POCO 类?

假设我将这些称为“请求模型”。一个例子可能是我创建了一个名为UpdateUserRequestModel 的类。我只定义允许用户更新的数据,然后,我让 MVC 将这些值绑定到这个代理模型中。稍后在我的控制器/服务中,我访问请求模型的公共属性以获取我希望移动到用户对象的值。

所以,这里的问题是:在普遍接受的 ASP.NET MVC 约定中是否已经存在这种做法的示例?它有特定的名称吗?如果做不到这一点,当我希望进行上下文验证时,有没有比 MVC 附带的默认模型绑定器和值提供程序更好的选择?

【问题讨论】:

    标签: asp.net asp.net-mvc model-binding


    【解决方案1】:

    我在我的应用程序上执行此操作。我验证用户执行的操作,将验证属性等放在代表该操作的视图模型上(方便地在视图中对表单进行建模,模型在返回的路上绑定结果)。我什至移植了 ContosoUniversity 应用来体现这种风格:

    https://github.com/jbogard/ContosoUniversity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-08-02
      • 1970-01-01
      • 1970-01-01
      • 2015-10-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多