ASP.NET MVC4 アプリケーションでは、モデルの検証に FluentValidation を使用しています。特定のケースでは、別のプロパティに値がある場合にのみプロパティを検証したいことがあります。これを実現するには、When キーワードを使用します。単純な検証クラスは次のようになります。
public class PersonValidator : AbstractValidator<Person>
{
public PersonValidator()
{
RuleFor(item => item.FirstName).NotEmpty();
RuleFor(item => item.LastName).NotEmpty().When(item => !string.IsNullOrEmpty(item.FirstName))
}
}
これについては、クライアント側の検証が必要です。カスタム FluentValidationPropertyValidator を作成しようとしました。しかし、検証ルールの When 部分を取得する方法が見つかりません。誰かが私を正しい方向に向けることができますか?