diff --git a/src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs b/src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs index 6fb4a59..8d944f8 100644 --- a/src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs +++ b/src/TaxBaik.Application/DTOs/SubmitInquiryDto.cs @@ -1,11 +1,28 @@ namespace TaxBaik.Application.DTOs; +using System.ComponentModel.DataAnnotations; + public class SubmitInquiryDto { + [Required(ErrorMessage = "이름을 입력하세요.")] + [StringLength(100, ErrorMessage = "이름은 최대 100자까지 입력 가능합니다.")] public string Name { get; set; } = string.Empty; + + [Required(ErrorMessage = "전화번호를 입력하세요.")] + [RegularExpression( + @"^(0(?:2|3[1-3]|4[1-4]|5[1-5]|6[1-4]|70|50[5-9]|[7-9](?:\d{1,2})?)\d{7,8}|0\d{9,10})$", + ErrorMessage = "올바른 전화번호 형식이 아닙니다.")] public string Phone { get; set; } = string.Empty; + + [EmailAddress(ErrorMessage = "올바른 이메일 형식이 아닙니다.")] public string? Email { get; set; } + + [StringLength(50, ErrorMessage = "상담분야는 최대 50자까지 입력 가능합니다.")] public string ServiceType { get; set; } = string.Empty; + + [Required(ErrorMessage = "문의 내용을 입력하세요.")] + [StringLength(5000, MinimumLength = 10, ErrorMessage = "문의 내용은 최소 10자, 최대 5000자까지 입력 가능합니다.")] public string Message { get; set; } = string.Empty; + public bool SuppressNotification { get; set; } } diff --git a/src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs b/src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs index 47dbe32..0b153be 100644 --- a/src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs +++ b/src/TaxBaik.Application/DTOs/UpdateInquiryDto.cs @@ -1,12 +1,32 @@ namespace TaxBaik.Application.DTOs; +using System.ComponentModel.DataAnnotations; + public class UpdateInquiryDto { + [Required(ErrorMessage = "이름을 입력하세요.")] + [StringLength(100, ErrorMessage = "이름은 최대 100자까지 입력 가능합니다.")] public string Name { get; set; } = string.Empty; + + [Required(ErrorMessage = "전화번호를 입력하세요.")] + [RegularExpression( + @"^(0(?:2|3[1-3]|4[1-4]|5[1-5]|6[1-4]|70|50[5-9]|[7-9](?:\d{1,2})?)\d{7,8}|0\d{9,10})$", + ErrorMessage = "올바른 전화번호 형식이 아닙니다.")] public string Phone { get; set; } = string.Empty; + + [EmailAddress(ErrorMessage = "올바른 이메일 형식이 아닙니다.")] public string? Email { get; set; } + + [StringLength(50, ErrorMessage = "상담분야는 최대 50자까지 입력 가능합니다.")] public string ServiceType { get; set; } = string.Empty; + + [Required(ErrorMessage = "문의 내용을 입력하세요.")] + [StringLength(5000, MinimumLength = 10, ErrorMessage = "문의 내용은 최소 10자, 최대 5000자까지 입력 가능합니다.")] public string Message { get; set; } = string.Empty; + + [Required(ErrorMessage = "상태를 선택하세요.")] public string Status { get; set; } = string.Empty; + + [StringLength(1000, ErrorMessage = "관리 메모는 최대 1000자까지 입력 가능합니다.")] public string? AdminMemo { get; set; } }