我正在使用 ASP.NET MVC 3,并且正在使用 FluentValidation 来验证我的视图模型。我只是有点担心我可能不在正确的轨道上。据我所知,模型验证应该在域对象上完成。现在使用 MVC,您可能有多个需要验证的相似视图模型。如果域对象的属性出现在多个视图模型中会发生什么?现在您要验证同一个属性两次,它们甚至可能不同步。因此,如果我有一个用户域对象,那么我想对这个对象进行验证。现在如果我有 UserAViewModel 和 UserBViewModel 会发生什么,所以现在需要进行多次验证。
在我的新闻类中,我有一个名为 Title 的属性,这是一个必填字段。在我的视图模型上,我还有一个 Title 属性,我使用 AutoMapper 来映射 News 和 NewsViewModel。所以这个验证发生了两次。什么时候进行域模型验证,什么时候进行视图模型验证?
上面的场景只是一个例子,所以请不要批评它。