using FluentValidation;
using Indotalent.Shared.Consts;

namespace Indotalent.Features.Pipeline.LeadContact.Cqrs;

public class CreateLeadContactValidator : AbstractValidator<CreateLeadContactRequest>
{
    public CreateLeadContactValidator()
    {
        RuleFor(x => x.FullName)
            .NotEmpty().WithMessage("Full Name is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.Email)
            .EmailAddress().When(x => !string.IsNullOrEmpty(x.Email))
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.LeadId)
            .NotEmpty().WithMessage("Lead association is required");
    }
}