Extend validation to announcement and faq
TaxBaik CI/CD / build-and-deploy (push) Successful in 3m10s

This commit is contained in:
2026-07-07 16:35:36 +09:00
parent 227ed21c1c
commit 94a6803345
6 changed files with 61 additions and 11 deletions
@@ -0,0 +1,19 @@
namespace TaxBaik.Web.Endpoints.Announcement;
using FluentValidation;
using TaxBaik.Application.DTOs;
public sealed class AnnouncementDtoValidator : AbstractValidator<AnnouncementDto>
{
public AnnouncementDtoValidator()
{
RuleFor(x => x.Title)
.NotEmpty().WithMessage("제목을 입력하세요.")
.MaximumLength(ValidationRules.TitleMaxLength).WithMessage("제목은 최대 100자까지 입력 가능합니다.");
RuleFor(x => x.Content).MaximumLength(2000).WithMessage("상세 내용은 최대 2000자까지 입력 가능합니다.");
RuleFor(x => x.DisplayType)
.NotEmpty().WithMessage("표시 유형을 선택하세요.")
.MaximumLength(20).WithMessage("표시 유형은 최대 20자까지 입력 가능합니다.");
}
}
@@ -0,0 +1,23 @@
namespace TaxBaik.Web.Endpoints.Faq;
using FluentValidation;
public sealed class CreateFaqRequestValidator : AbstractValidator<CreateFaqRequest>
{
public CreateFaqRequestValidator()
{
RuleFor(x => x.Question).NotEmpty().MaximumLength(300);
RuleFor(x => x.Answer).NotEmpty().MinimumLength(10).MaximumLength(5000);
RuleFor(x => x.Category).MaximumLength(50);
}
}
public sealed class UpdateFaqRequestValidator : AbstractValidator<UpdateFaqRequest>
{
public UpdateFaqRequestValidator()
{
RuleFor(x => x.Question).NotEmpty().MaximumLength(300);
RuleFor(x => x.Answer).NotEmpty().MinimumLength(10).MaximumLength(5000);
RuleFor(x => x.Category).MaximumLength(50);
}
}
+1
View File
@@ -359,6 +359,7 @@ builder.Services.AddSingleton(HtmlEncoder.Create(UnicodeRanges.All));
builder.Services.AddInfrastructure();
builder.Services.AddApplication();
builder.Services.AddValidatorsFromAssemblyContaining<TaxBaik.Application.DTOs.CreateBlogPostDtoValidator>();
builder.Services.AddValidatorsFromAssemblyContaining<TaxBaik.Web.Endpoints.Announcement.AnnouncementDtoValidator>();
builder.Services.AddScoped<IInquiryNotificationService, TelegramInquiryNotificationService>();
builder.Services.AddScoped<TaxBaik.Web.Services.SitemapValidationService>();