Validation
출처 : 패스트 캠퍼스 코드 팩토리 초격차 강의 (opens in a new tab)
Installation
pnpm install class-validator class-transformer
기본 제공
공통
- @IsDefined()
- @IsOptional()
- @Equals()
- @NotEquals()
- @IsEmpty()
- @IsNotEmpty()
- @IsIn()
- @IsNotIn()
타입
- @Isboolean()
- @IsDate()
- @IsString()
- @IsNumber()
- @isInt()
- @IsArray()
- @IsEnum()
숫자
- @IsDivisibleBy()
- @isPositive()
- @IsNegative()
- @Min()
- @Max()
문자
- @Contains()
- @NotContains()
- @IsAlphanumeric()
- @IsCreditCard()
- @IsHexColor()
- @MaxLength()
- @MinLnegth()
- @IsUUID()
- @IsLatLng()
에러 반환 구조
{
target: object;
property: string;
value: any;
constraints?: {
[type: string]: string;
};
children?: ValidationError[];
}
- target : 검증한 대상
- property : 검증 실패한 프로퍼티
- value : 검증 실패한 값
- constraints : 검증 실패한 제약조건
- children : 프로퍼티의 모든 검증 실패 제약 조건
커스텀 에러 메시지
class User {
@IdNotEmpty({ message: "아이디는 필수입니다." })
id: string;
}