- Add [Required], [StringLength], [RegularExpression] to all fields - Name: Required, max 100 characters - Phone: Required, Korean phone number regex validation - Email: Optional, email format validation - ServiceType: Optional, max 50 characters - Message: Required, 10-5000 characters - Status (UpdateInquiryDto): Required - AdminMemo: Optional, max 1000 characters Provides automatic validation at DTO layer via DataAnnotations. All error messages are user-friendly in Korean. Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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; }
|
||||
}
|
||||
|
||||
@@ -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; }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user