asp.net-mvc – ASP.Net MVC 2验证是否需要更多的思考在模式和使用方面?

这是土地的铺路。像大多数人,我有我的域对象,我有我的视图模型。我喜欢使用视图模型的想法,因为它允许为特定的视图环境专门创建模型,而不需要改变我的业务对象。

我的问题是在我的域对象上定义了类型级验证,并将这些规则交给客户端。在这种情况下,我说我正在使用数据注释来描述验证规则,当我将数据从域对象移动到视图模型时,视图模型不再知道应该使接口执行什么验证(因为验证是定义在域对象上)。

使用MVC 2,您可以根据当前对象的验证规则,使其自动执行客户端/服务器端验证。但是因为验证规则是在域对象而不是视图模型上定义的,所以我必须在视图模型上复制验证规则才能使其工作。

其他人如何处理这类问题?我的想法是,除了将数据从域对象映射到视图模型之外,我们还需要映射验证规则,但我并没有真正看到其他人在谈论这个问题… Brad Wilson最近谈到了这个问题但是还没有真正解决域对象和视图模型上的重复规则…你的想法是什么?

干杯
安东尼

解决方法

DataAnnotation属性是关于验证输入并向最终用户提供UI反馈。这真的是他们唯一的用途。我对UI对象和业务对象使用不同的验证策略,因此DA验证属性只能在向用户显示的模型上结束。

相关文章

这篇文章主要讲解了“WPF如何实现带筛选功能的DataGrid”,文...
本篇内容介绍了“基于WPF如何实现3D画廊动画效果”的有关知识...
Some samples are below for ASP.Net web form controls:(fr...
问题描述: 对于未定义为 System.String 的列,唯一有效的值...
最近用到了CalendarExtender,结果不知道为什么发生了错位,...
ASP.NET 2.0 page lifecyle ASP.NET 2.0 event sequence cha...