track/src/SJZY.Track.Application/Validations/TrackFlags/EditTrackFlagInputValidation.cs
2024-03-01 10:14:49 +08:00

24 lines
1.2 KiB
C#

using FluentValidation;
using SJZY.Track.Application.Contract.Dtos.TrackFlags;
namespace SJZY.Track.Application.Validations.TrackFlags
{
public class EditTrackFlagInputValidation : AbstractValidator<EditTrackFlagInput>, 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("轨迹标记不能为空!");
});
}
}
}