Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net FluentValidation:没有属性的验证程序_.net_Fluentvalidation - Fatal编程技术网

.net FluentValidation:没有属性的验证程序

.net FluentValidation:没有属性的验证程序,.net,fluentvalidation,.net,Fluentvalidation,我有一个例子,如果你在app.config中有一些设置,验证器总是会失败,并显示一些消息(不管属性值是什么)。有没有干净的方法可以做到这一点 现在我正在使用以下代码: RuleFor(x => x.SomeRandomProperty).Must(srp => false).WithMessage("My message"); 您可以像这样覆盖Validate以检查该值是否存在,并返回一个自定义ValidationResult,或者继续执行上面的操作 public override

我有一个例子,如果你在app.config中有一些设置,验证器总是会失败,并显示一些消息(不管属性值是什么)。有没有干净的方法可以做到这一点

现在我正在使用以下代码:

RuleFor(x => x.SomeRandomProperty).Must(srp => false).WithMessage("My message");

您可以像这样覆盖
Validate
以检查该值是否存在,并返回一个自定义
ValidationResult
,或者继续执行上面的操作

public override ValidationResult Validate(Person instance)
{

    if(ValueIsInConfigFile)
        return new ValidationResult(new List<ValidationFailure>(){new ValidationFailure("SomeProperty", "There is a value in the config file which made this fail")});
    return base.Validate(instance);//Will apply your normal Rules
}
public override ValidationResult Validate(个人实例)
{
如果(值为inconfigfile)
返回新的ValidationResult(new List(){new ValidationFailure(“SomeProperty”,“配置文件中有一个值导致此失败”)});
return base.Validate(instance);//将应用常规规则
}
史蒂夫