using FluentValidation; using SJZY.Track.Application.Contract.Dtos.TrackFlags; namespace SJZY.Track.Application.Validations.TrackFlags { public class EditTrackFlagInputValidation : AbstractValidator, IValidationEnabled { public EditTrackFlagInputValidation() { //条件分支 When(x => x.Options == OptionType.修改 || x.Options == OptionType.删除, () => { RuleFor(x => x.Id).GreaterThan(0).WithMessage("修改或删除时Id必须大于0!"); }); When(x => x.Options == OptionType.新增, () => { RuleFor(x => x.Id).Equal(0).WithMessage("新增时Id必须等于0!"); }); When(x => x.Options == OptionType.修改 || x.Options == OptionType.新增, () => { RuleFor(x => x.SubSystemId).GreaterThan(0).WithMessage("子系统的id必须大于0!"); RuleFor(x => x.Code).NotNull().WithMessage("轨迹标记代码必填!").NotEmpty().WithMessage("轨迹标记代码不能为空!"); RuleFor(x => x.Flag).NotNull().WithMessage("轨迹标记必填!").NotEmpty().WithMessage("轨迹标记不能为空!"); }); } } }