using FluentValidation;
using Indotalent.Shared.Consts;

namespace Indotalent.Features.Setting.Currency.Cqrs;

public class CreateCurrencyValidator : AbstractValidator<CreateCurrencyRequest>
{
    public CreateCurrencyValidator()
    {
        RuleFor(x => x.Code)
            .NotEmpty().WithMessage("Currency Code is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.Name)
            .NotEmpty().WithMessage("Currency Name is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.Symbol)
            .NotEmpty().WithMessage("Symbol is required")
            .MaximumLength(GlobalConsts.StringLengthShort);

        RuleFor(x => x.CountryOwner)
            .NotEmpty().WithMessage("Country Owner is required")
            .MaximumLength(GlobalConsts.StringLengthShort);
    }
}