using FluentValidation; using Indotalent.Shared.Consts; namespace Indotalent.Features.Pipeline.SalesRepresentative.Cqrs; public class UpdateSalesRepresentativeValidator : AbstractValidator { public UpdateSalesRepresentativeValidator() { RuleFor(x => x.Id) .NotEmpty().WithMessage("ID is required for update"); RuleFor(x => x.Name) .NotEmpty().WithMessage("Representative Name is required") .MaximumLength(GlobalConsts.StringLengthShort); RuleFor(x => x.SalesTeamId) .NotEmpty().WithMessage("Sales Team is required"); RuleFor(x => x.EmailAddress) .EmailAddress().When(x => !string.IsNullOrEmpty(x.EmailAddress)); } }