我们正在使用"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);
或将您的结构转换为类。