using FluentValidation; namespace EnvelopeGenerator.Application.PdfSigning; public class SignPdfByElementCommandValidator : AbstractValidator { public SignPdfByElementCommandValidator() { RuleFor(x => x) .Must(x => (x.Element is not null) ^ x.ElementId.HasValue) .WithMessage("Exactly one of Element or ElementId must be provided."); RuleFor(x => x.ElementId) .GreaterThan(0) .When(x => x.ElementId.HasValue) .WithMessage("ElementId must be greater than 0."); } }