autobus-api_old/AutobusApi.Application/Employees/Commands/UpdateEmployee/UpdateEmployeeCommandValidator.cs

28 lines
897 B
C#

using AutobusApi.Domain.Enums;
using FluentValidation;
namespace AutobusApi.Application.Employees.Commands.UpdateEmployee;
public class UpdateEmployeeCommandValidator : AbstractValidator<UpdateEmployeeCommand>
{
public UpdateEmployeeCommandValidator()
{
RuleFor(v => v.Id).GreaterThan(0);
RuleFor(v => v.FirstName).MinimumLength(2).MaximumLength(32);
RuleFor(v => v.LastName).MinimumLength(2).MaximumLength(32);
RuleFor(v => v.Patronymic).MinimumLength(2).MaximumLength(32);
RuleFor(v => v.Sex).Must(value => Enum.TryParse<Sex>(value, true, out _));
RuleForEach(v => v.Documents).ChildRules(document =>
{
document.RuleFor(v => v.Type).Must(value => Enum.TryParse<EmployeeDocumentType>(value, true, out _));
document.RuleFor(v => v.Information).MinimumLength(2).MaximumLength(256);
});
}
}