using AutobusApi.Domain.Enums; using FluentValidation; namespace AutobusApi.Application.Employees.Commands.UpdateEmployee; public class UpdateEmployeeCommandValidator : AbstractValidator { 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(value, true, out _)); RuleForEach(v => v.Documents).ChildRules(document => { document.RuleFor(v => v.Type).Must(value => Enum.TryParse(value, true, out _)); document.RuleFor(v => v.Information).MinimumLength(2).MaximumLength(256); }); } }