using FluentValidation;

namespace CMSMicroservice.Application.SitePageCQ.Commands.UpdateSitePage;

public class UpdateSitePageCommandValidator : AbstractValidator<UpdateSitePageCommand>
{
    public UpdateSitePageCommandValidator()
    {
        RuleFor(x => x.Id)
            .GreaterThan(0).WithMessage("شناسه صفحه نامعتبر است");

        RuleFor(x => x.Title)
            .NotEmpty().WithMessage("عنوان صفحه الزامی است")
            .MaximumLength(200).WithMessage("عنوان صفحه حداکثر ۲۰۰ کاراکتر");

        RuleFor(x => x.MetaDescription)
            .MaximumLength(500).WithMessage("توضیحات متا حداکثر ۵۰۰ کاراکتر");

        RuleFor(x => x.HeroTitle)
            .MaximumLength(300).WithMessage("عنوان هیرو حداکثر ۳۰۰ کاراکتر");

        RuleFor(x => x.HeroSubtitle)
            .MaximumLength(500).WithMessage("زیرعنوان هیرو حداکثر ۵۰۰ کاراکتر");
    }
}
