asp.net-mvc - 在哪里以及如何验证和映射 ViewModel?

标签 asp.net-mvc validation domain-driven-design viewmodel

我正在尝试学习领域驱动设计,最近读到很多人提倡为您的 View 创建一个 ViewModels,以存储您想要在给定 View 中显示的所有值。

我的问题是我应该如何进行表单验证?我应该为每个 View 创建单独的验证类,还是将它们组合在一起?我也对这在代码中的样子感到困惑。

这就是我目前认为验证和 View 模型适合事物方案的方式:

View (一些用户输入)-> Controller -> FormValidation(ViewModel)->(如果有效映射到 ViewModel 到域模型)-> 域层服务-> 基础设施

谢谢!

附言我将 Asp.net MVC 与 C# 一起使用

最佳答案

我建议您将验证规则放入域模型中。这是最简单和重复的方式(例如,使用 System.ComponentModel.DataAnnotations - MVC 2 默认模型绑定(bind)器支持开箱即用)。
如果您有复杂且大范围的域模型,并且您不会被具有相同名称的映射属性所困扰 - 尝试使用 AutoMapper,这是执行此类工作的绝佳工具。

关于asp.net-mvc - 在哪里以及如何验证和映射 ViewModel?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2786482/

相关文章:

c# - 设置 Azure Web App 以接受客户端证书

asp.net-mvc - ASP.Net MVC 中仅允许匿名的属性

c# - 使用 Entity Framework 在 WPF MVVM 中进行验证

javascript - 如何在 JS 验证过程中区分特殊字符

php - 多个有界上下文中实体的标识符

asp.net-mvc - 如果有 HTML 内容,我可以编写内联吗?

c# - 如何解决引用网站的请求验证 token

没有注释的 spring 中的 Java 对象验证

c# - 是否有一种通用的 DDD 模式来处理域对象的欠载?

domain-driven-design - CQRS 事件溯源检查用户名在发送命令时是否来自 EventStore