我正在尝试学习领域驱动设计,最近读到很多人提倡为您的 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/