0
위해 나는이 경우가 있습니다.두 검사기 한 모델
2) [Variable]CustomValidator
이 모델의 특성 중 하나에 기초하여 결정된다. 내가 약 (AlsoValidateWith()
등의 방법이 아니므로 당연히 작동하지 않음) 할 의도 무엇을 보여줍니다
코드는 다음과 같습니다 :
[Validator(typeof(AnimalValidator))]
public class AnimalModel
{
public string Type { get; set }
public int NumberOfLegs { get; set; }
public string Color { get; set; }
public int NumberOfEyes { get; set; }
public bool HasWings { get; set; }
}
public class AnimalValidator: AbstractValidator<AnimalModel>
{
public AnimalValidator()
{
RuleFor(x => x.NumberOfEyes).Equal(2);
RuleFor(x => x).AlsoValidateWith(new DogValidator()).When(x => x.Type == "Dog");
RuleFor(x => x).AlsoValidateWith(new CatValidator()).When(x => x.Type == "Cat");
}
}
public class DogValidator: AbstractValidator<AnimalModel>
{
public DogValidator()
{
RuleFor(x => x.Color).Equal("Black");
RuleFor(x => x.NumberOfLegs).Equal(2);
RuleFor(x => x.HasWings).Equal(false);
}
}
어떤 도움에 감사드립니다!
. 네가 쓴 또 다른 확장 프로그램인가? 이 경우 코드를 볼 수 있습니까? – Dmitry
'FluentValidation.Mvc'에 정의되어 있으므로 사용 문이 필요합니다 – MarkG
공유 솔루션을 이용해 주셔서 감사합니다. – Dmitry