使用数据注释进行MVC验证 - 模型类或视图模型类?

Rya*_*son 10 validation asp.net-mvc data-annotations asp.net-mvc-2

将数据验证注释放在模型或视图模型中是最佳做法吗?一种方法优于另一种方法的优点/缺点是什么?

很想知道每个人都在进行验证,我目前正在模型项目中进行.但是我看到有几个人说这不是最好的做法.

Dar*_*rov 10

就最佳实践而言,我会说:两者都没有.验证应该是分开的.FluentValidation等框架允许您将验证逻辑与模型完全分离.但是为了回答你的问题,我会将验证放入View Models中,因为那些是你绑定控制器操作的类.您还可以拥有多个与同一模型绑定但具有不同验证规则的View模型.