Fluent 検証は初めてで、助けが必要です。別のインターフェイス プロパティを持つインターフェイスがあり、両方のインターフェイスの検証を記述しました。課題は、インターフェイス プロパティの検証メッセージが表示されないことです。
以下は私の状況の私のコードです
public interface IAddress
{
string City { get; set; }
string Town { get; set; }
}
public interface IAccount
{
string FullName { get; set; }
int Age { get; set; }
IAddress Address { get; set; }
}
public AccountValidator ()
{
RuleFor(x => x.FullName).NotEmpty().WithMessage("Full Name can not be empty");
RuleFor(x => x.Age).GreaterThan(18).WithMessage("Age cannot be less than 18 years");
RuleFor(x => x.Address).SetValidator( new AddressValidator());
}
public AddressValidator()
{
RuleFor(x => x.City).NotEmpty().NotNull().WithMessage("City can not be empty");
RuleFor(x => x.Town).NotEmpty().NotNull().WithMessage("Town can not be empty");
}
検証を呼び出すために使用しているクライアントコードは次のとおりです。
var accountValidator = new AccountValidator();
accountValidator.ValidateAndThrow(_account );
前もって感謝します。