namespace FrontOffice.BFF.Application.UserWalletCQ.Queries.GetAllUserWalletChangeLog; public class GetAllUserWalletChangeLogQueryValidator : AbstractValidator { public GetAllUserWalletChangeLogQueryValidator() { RuleFor(x => x.ReferenceId).GreaterThan(0).When(x => x.ReferenceId.HasValue); } public Func>> ValidateValue => async (model, propertyName) => { var result = await ValidateAsync(ValidationContext.CreateWithOptions((GetAllUserWalletChangeLogQuery)model, x => x.IncludeProperties(propertyName))); if (result.IsValid) return Array.Empty(); return result.Errors.Select(e => e.ErrorMessage); }; }