你在哪里做验证/业务规则?

时间:2011-02-22 01:03:47

标签: validation asp.net-mvc-3

我正在使用EF4制作ASP.NET MVC应用程序,使用Controller - >查看模型 - >服务层 - >存储库 - >数据模型(EF)方法。

我的问题是业务逻辑/验证在哪里?

我是否应该将域对象复制到视图对象中并在那里进行验证?似乎有很多额外的工作要将域对象复制到视图模型的对象中。

我使用的是使用T4模板生成的POCO。

2 个答案:

答案 0 :(得分:4)

就个人而言,我在服务层中放置了业务验证逻辑(像用户名这样的东西,因为资金不足而无法汇款,......),视图模型上需要像用户名字段这样的东西。

答案 1 :(得分:2)

我实际上喜欢@Darin Dimitrov的方法,这就是我目前在项目中使用的方法。并且为了利用显示错误消息,就像使用属性一样,您可以使用ModelState周围的包装器,如this article中所述。