namespace CMSMicroservice.Application.UserOrderCQ.Commands.UpdateUserOrder; public class UpdateUserOrderCommandValidator : AbstractValidator { public UpdateUserOrderCommandValidator() { RuleFor(model => model.Id) .NotNull(); // RuleFor(model => model.Amount) // .NotNull(); // RuleFor(model => model.PackageId) // .NotNull(); // RuleFor(model => model.PaymentStatus) // .IsInEnum() // .NotNull(); // RuleFor(model => model.UserId) // .NotNull(); // RuleFor(model => model.UserAddressId) // .NotNull(); // RuleFor(model => model.PaymentMethod) // .IsInEnum(); } public Func>> ValidateValue => async (model, propertyName) => { var result = await ValidateAsync(ValidationContext.CreateWithOptions((UpdateUserOrderCommand)model, x => x.IncludeProperties(propertyName))); if (result.IsValid) return Array.Empty(); return result.Errors.Select(e => e.ErrorMessage); }; }