2016-12-08 4 views
2

"FluentValidation.AspNetCore": "6.4.0-beta3"을 사용하고 있습니다. Validate 특성은 클래스에서 작동합니다. 구조체와 함께 어떻게 사용합니까? 컴파일러가 불평합니다 :Validator 속성 (또는 대안)을 사용하여 구조체의 유효성을 검사합니다.

속성 'Validator'는이 선언 유형에 유효하지 않습니다. '클래스, 매개 변수'선언에만 유효합니다. 이 구조체에 Validate 속성을 사용할 수없는 경우 [netstandard1.6] ValidatorAttribute.ValidatorAttribute (유형 validatorType)

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

    public string Bar { get; set; } 
} 

, 다음 구조체로 유창 유효성 검사를 사용하는 다른 방법은 무엇입니까?

답변

1

필자는 컴파일러가 구조체에서이 주석을 사용할 수 없다는 사실을 분명히 알고 있습니다. "수동으로"유효성 검사를 수행 할 수 있습니다.

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

구조체를 클래스로 변환합니다.