<分区>
当谈到 MVC 中的验证时,我在在线示例中看到的最常见方法是使用 ViewModel 来验证数据。人们要么使用数据注释,要么实现 IValidatableObject 和 IClientValidatable 接口(interface)。但这不会破坏单一职责原则吗? ViewModel 真的应该负责验证吗?
我想到的一种方法是创建一个单独的验证器类,并将来自 Controller 的 ModelState 字典传递给它。这种方法的缺点是我们无法通过实现 IClientValidatable 接口(interface)和使用 JQuery 验证库来执行简单的客户端验证。
在不违反 SOLID 原则的情况下,在 MVC 中实现 ViewModel 验证的正确方法是什么?