我试图查看是否有一种方法可以使用 FluentValidation,而无需为我的应用程序中的每个对象类型显式创建验证模型。
这在技术上和目前是否可行?
更新
换句话说,FluentValidation 是否可以在没有 IValidator 上下文的情况下验证规则?相反,我想传入要验证的项目实例并使用即时构建的验证规则。
解决
我能够通过一种黑客解决方案来解决。以下是我所做的基本细节:
1)我创建了一个类(GenericModel),它具有代表模型中属性的对象集合。2)我创建了一个继承自 AbstractValidator 的验证器类。3) 基于 GenericModel 的“属性对象”集合 + 关于每个属性的验证规则和错误消息的附加元数据,我能够在运行时添加 FluentValues 规则。4)。在 EditForm 我处理了 OnSubmit 事件。在那个事件处理程序中,我通过 FluentValidation 的 ValidateAsync() 方法执行验证。5)。最后,我遍历验证结果并使用适当的 CSS、错误消息、突出显示...等更新每个字段。