DTO 객체의 유효성 체크 - Validating Data Transfer Objects
Last updated
Last updated
DTO 객체의 유효성 체크
애플리케이션에서 입력은 먼저 검증되어야 합니다. 입력은 사용자 또는 다른 응용 프로그램에서 보낼 수 있습니다. 웹 애플리케이션에서 유효성 검사는 일반적으로 클라이언트 측과 서버 측에서 두 번 구현됩니다. 클라이언트 측 유효성 검사는 주로 사용자 경험을 위해 구현됩니다. 클라이언트에서 먼저 양식을 확인하고 유효하지 않은 필드를 사용자에게 표시하는 것이 좋습니다. 그러나 서버 측 유효성 검사는 반드시 진행해야 필요합니다.
여기서 Description 속성은 Required 로 표시됩니다. AssignedPersonId는 선택 사항입니다. 또한 System.ComponentModel.DataAnnotations 네임스페이스에는 많은 특성(예: MaxLength, MinLength, RegularExpression...)이 있습니다. 아래 코드를 참조 하세요
자동으로 유효성 검사 코드를 작성하므로 유효성 검사 코드가 작성되지 않습니다. ASP.NET 상용구는 또한 입력이 null 인지 확인 하고 null인 경우 AxsValidationException 을 발생시키므로 null 검사 코드를 작성할 필요가 없습니다. 또한 입력 속성 중 하나라도 유효하지 않은 경우 AxsValidationException이 발생합니다.
이 메커니즘은 ASP.NET MVC의 유효성 검사와 유사하지만 응용 프로그램 서비스 클래스는 Controller에서 파생되지 않고 일반 클래스이며 웹 응용 프로그램 외부에서도 작동할 수 있습니다.
자동으로 검증된 클래스(소개 섹션 참조)의 경우 다음 속성을 사용하여 검증을 제어할 수 있습니다.
DisableValidation 특성은 유효성 검사를 비활성화하기 위해 DTO의 클래스, 메서드 또는 속성에 사용할 수 있습니다. EnableValidation 특성은 포함하는 클래스에 대해 비활성화된 경우에만 메서드에 대한 유효성 검사를 활성화하는 데 사용할 수 있습니다.
스웨거에서 확인
스웨거 자체에서 유효성 검사를 하고 있기 때문에 확인은 할 수 없습니다.
코드 적용
AppController에서 DisableValidation 속성을 적용하여 유효성 검사를 안하도록 할 수 있습니다. 하지만 대부분의 시나리오에서는 사용하지 않는 속성입니다.