首页 > 解决方案 > 如何忽略特定属性的 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.MyAStringBClass.

我试过RuleFor(x => x.AClass.MyAString).Configure(x => x.ClearValidators());了,但这甚至都不起作用(我不认为它会起作用,因为其他验证器可能只会在以后应用)。

我面临的“核心”问题是:我们有一个验证器来检查AClass.MyAString数据库中是否存在,但是对于这个特定的PUT方法,我想在数据库中创建条目,因此当实际的请求土地。

标签: c#asp.net-web-apifluentvalidation

解决方案


推荐阅读