using FluentValidation; using TakeoutSaaS.Application.App.Billings.Commands; namespace TakeoutSaaS.Application.App.Billings.Validators; /// /// 更新账单状态命令验证器。 /// public sealed class UpdateBillingStatusCommandValidator : AbstractValidator { public UpdateBillingStatusCommandValidator() { // 1. 账单 ID 必填 RuleFor(x => x.BillingId) .GreaterThan(0) .WithMessage("账单 ID 必须大于 0"); // 2. 状态枚举校验 RuleFor(x => x.NewStatus) .IsInEnum() .WithMessage("新状态无效"); // 3. 备注长度限制(可选) RuleFor(x => x.Notes) .MaximumLength(500) .WithMessage("备注不能超过 500 个字符") .When(x => !string.IsNullOrWhiteSpace(x.Notes)); } }