namespace CMSMicroservice.Application.ConfigurationCQ.Queries.GetAllConfigurations; public class GetAllConfigurationsQueryValidator : AbstractValidator { public GetAllConfigurationsQueryValidator() { RuleFor(x => x.Filter.Scope) .IsInEnum() .WithMessage("محدوده تنظیمات معتبر نیست") .When(x => x.Filter?.Scope != null); } public Func>> ValidateValue => async (model, propertyName) => { var result = await ValidateAsync( ValidationContext.CreateWithOptions( (GetAllConfigurationsQuery)model, x => x.IncludeProperties(propertyName))); if (result.IsValid) return Array.Empty(); return result.Errors.Select(e => e.ErrorMessage); }; }