如何忽略特定属性的FluentValidation

问题描述

给出以下两个类

public class AClass
{
    public string MyAString { get; set; }
}

public class BClass
{
    public AClass A { get; set; }
    public string MyBString { get; set; }
}

还提供了以下两个验证器

public class AClassValidator : AbstractValidator<AClass>
{
    public AClassValidator()
    {
        RuleFor(x => x.MyAString).Length(10);
    }
}

public class BClassValidator : AbstractValidator<BClass>
{
    public BClassValidator()
    {
        // What to do here to ignore the validation on AClass.MyAString
    }
}

当我现在有一个将BClass作为参数的动作时。在AClass.MyAString的上下文中进行检查时,如何以不应用BClass上的现有验证器的方式编写BClass验证器。

我尝试了RuleFor(x => x.AClass.MyAString).Configure(x => x.ClearValidators());,但这什至没有用(而且我不认为它可以用,因为其他验证器可能以后才应用)。

我面临的“核心”问题是:我们有一个验证器,用于检查数据库中AClass.MyAString的存在,但是对于这种特定的PUT方法,我想创建一个因此,当实际请求到达时,DB中的条目将永远不存在。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)