次のバリデータクラスがあります。
public class FranchiseInfoValidator : AbstractValidator<FranchiseInfo>
{
public FranchiseInfoValidator()
{
RuleFor(franchiseInfo => franchiseInfo.FolderName).NotEmpty().Matches("^[a-zA-Z0-9_.:-]+$").WithMessage("Invalid characters");
RuleFor(franchiseInfo => franchiseInfo.ExeIconName).NotEmpty().Matches("^[a-zA-Z0-9_.:-]+$").WithMessage("Invalid characters");
RuleFor(franchiseInfo => franchiseInfo.FullName).NotEmpty().Matches("^[a-zA-Z0-9_.:-]+$").WithMessage("Invalid characters");
RuleFor(franchiseInfo => franchiseInfo.ShortName).NotEmpty().Matches("^[a-zA-Z0-9_.:-]+$").WithMessage("Invalid characters");
}
NotEmpty()
カスタム メッセージをMatches("^[a-zA-Z0-9_.:-]+$").WithMessage("Invalid characters")
持つバリデータは、すべてのプロパティで同じです。それらを1つのカスタムバリデーターにグループ化してから、次のように書くことは可能ですか:
RuleFor(franchiseInfo => franchiseInfo.FolderName).SetValidator(new CustomValidator());
カスタムバリデーターをいくつか実行しましたが、このシナリオでは実行しませんでした。これは可能ですか?ドキュメントにそのような例は見つかりませんでした。さらに、これを汎用的に行うことが可能かどうか疑問に思うので、同じカスタムバリデーターを適用するプロパティを持つ別のバリデータークラスがある場合はどうなりますか? ありがとう。