我将 ASP.NET MVC 与 Entity Framework POCO 类和 FluentValidation 框架一起使用。它运行良好,并且验证正在按应有的方式进行(就像我使用 DataAnnotations 一样)。我什至已经让客户端验证工作了。我对此很满意。
由于这是一个测试应用程序,我正在编写只是为了看看我是否可以让新技术一起工作(并在此过程中学习它们),我现在准备尝试使用 ViewModels 而不是仅仅将实际模型传递给视图。我计划在我的服务中使用 AutoMapper 之类的东西来进行从模型到视图模型的来回映射,但我首先有一个问题。
这将如何影响我的验证?我的验证类(使用 FluentValidation 编写)是否应该针对 ViewModel 而不是 Model 编写?还是需要在两个地方都发生?DataAnnotations(和 FluentValidation)的一大亮点是您可以在一个“无处不在”的地方进行验证。它实现了这个承诺(大部分),但是如果我开始使用 ViewModels,我是否会失去这种能力并不得不回到将验证放在两个地方?
还是我只是想错了?