【发布时间】:2019-07-22 18:13:47
【问题描述】:
我正在尝试查看是否有在我的应用程序中无需为每个对象类型显式创建验证模型的情况下使用 FluentValidation 的方法。
这在技术上和目前是否可行?
更新
换个说法,FluentValidation 是否可以在没有 IValidator 上下文的情况下验证规则?相反,我想传入要验证的项目实例并使用即时构建的验证规则。
已解决
我能够通过一种 hack 解决方案来解决。这里是 我所做的基本细节:
1) 我创建了一个包含对象集合的类 (GenericModel) 表示模型中的属性。 2)我创建了一个验证器类 继承自 AbstractValidator。 3) 基于 GenericModel 的“属性对象”+ 附加元数据的集合 关于每个属性的验证规则和错误消息,我能够 在运行时添加 FluentValues 规则。 4)。在 EditForm 我 处理了 OnSubmit 事件。在那个事件处理程序中,我执行验证 通过 FluentValidation 的 ValidateAsync() 方法。 5)。最后,我迭代 通过验证结果并使用适当的更新每个字段 CSS、错误消息、突出显示...等。
【问题讨论】:
-
这个链接有用吗? chrissainty.com/…
-
这是我开始使用 FL 的文章。但它并没有解决验证 T 型模型的技术问题。
-
我尝试通过第一篇文章(史蒂夫哈里斯发布的答案)。但我就是听不懂。
-
请将您编辑的答案作为单独的答案发布并标记为解决方案
标签: validation asp.net-core fluentvalidation blazor fluentvalidation-2.0