首页 > 解决方案 > 在 Fluent Validation 中,有没有办法从其他验证器的属性规则中复制现有的属性规则,例如外键?

问题描述

我正在尝试控制中心的验证器规则。所以,我不想为外键属性编写相同的规则。例如:

EntityA 的验证器

public class firstValidator : AbstractValidator<EntityA>
    {
        public firstValidator()
        {
            RuleFor(p=>p.Id).GreaterThanOrEqualTo(0);

            RuleFor(p=>p.EntityBId).//Rules For EntityBId which defined already in another code file
        }
    }

EntityB 的验证器

public class secondValidator : AbstractValidator<EntityB>
    {
        public secondValidator()
        {
            RuleFor(p=>p.Id).// Rules for ID of EntityB is defined here I am trying to copy this rules for EntityA's EntityBId propery.

        }
    }

如代码文件中所示,我想将 secondValidator 类中的“EntityB.Id”属性验证规则复制到 firstValidator 类中的“EntityA.EntityBId”规则。有什么办法吗?

我要复制的意思是,如果 secondValidator 的规则发生变化,firstValidator 的规则也会发生变化。

标签: c#.net-corefluentvalidation

解决方案



推荐阅读