使用验证器属性(或替代方案)验证结构



我们正在使用"FluentValidation.AspNetCore": "6.4.0-beta3"Validate属性在类上起作用。我们如何将其与结构一起使用?编译器抱怨:

属性"验证器"在此声明类型上无效。它仅在"类,参数"声明上有效。[NetStandard1.6] validatorAttribute.ValidatorAttribute(type valtortype)

[Validator(typeof(FoobarValidator))]
public struct FoobarDto
{
    public string Foo { get; set; }
    public string Bar { get; set; }
}

如果无法在结构上使用Validate属性,那么使用结构的流利验证的替代方法是什么?

我猜编译器很清楚您不能在结构上使用此注释。您可以"手动"进行验证:

FoobarDto fooBar = new FoobarDto();
FoobarValidator validator = new FoobarValidator();
ValidationResult results = validator.Validate(fooBar);

或将您的结构转换为类。

最新更新