NestJS / / 2024. 12. 23. 07:18

Class Validator 정리

공통 검증 데코레이터

데코레이터 설명

@IsDefined() 값이 undefined 또는 **null**이 아닌지 확인. skipMissingProperties 옵션을 무시.
@IsOptional() 값이 null 또는 **undefined**일 경우, 해당 속성의 다른 검증을 무시.
@Equals(comparison) 값이 특정 값과 정확히 동일한지 확인.
@NotEquals(comparison) 값이 특정 값과 동일하지 않은지 확인.
@IsEmpty() 값이 빈 값('', null, undefined)인지 확인.
@IsNotEmpty() 값이 빈 값이 아닌지 확인.
@IsIn(values) 값이 지정된 배열 안에 포함되어 있는지 확인.
@IsNotIn(values) 값이 지정된 배열 안에 포함되지 않았는지 확인.

타입 검증 데코레이터

데코레이터 설명

@IsBoolean() 값이 boolean 타입인지 확인.
@IsDate() 값이 Date 타입인지 확인.
@IsString() 값이 string 타입인지 확인.
@IsNumber(options) 값이 숫자인지 확인.
@IsInt() 값이 정수인지 확인.
@IsArray() 값이 배열인지 확인.
@IsEnum(entity) 값이 지정된 enum 값인지 확인.

숫자 검증 데코레이터

데코레이터 설명

@IsDivisibleBy(num) 값이 지정된 숫자로 나누어 떨어지는지 확인.
@IsPositive() 값이 0보다 큰 양수인지 확인.
@IsNegative() 값이 0보다 작은 음수인지 확인.
@Min(min) 값이 최소값 이상인지 확인.
@Max(max) 값이 최대값 이하인지 확인.

날짜 검증 데코레이터

데코레이터 설명

@MinDate(date) 값이 지정된 날짜 이후인지 확인.
@MaxDate(date) 값이 지정된 날짜 이전인지 확인.

문자열 타입 검증 데코레이터

데코레이터 설명

@IsBooleanString() 값이 boolean 값을 나타내는 문자열인지 확인 (truefalse 등).
@IsDateString() 값이 ISO8601 형식의 날짜 문자열인지 확인.
@IsNumberString(options) 값이 숫자를 나타내는 문자열인지 확인.

문자열 검증 데코레이터

데코레이터 설명

@Contains(seed) 문자열이 특정 문자열(seed)을 포함하는지 확인.
@NotContains(seed) 문자열이 특정 문자열을 포함하지 않는지 확인.
@IsAlpha() 문자열이 알파벳 문자만 포함하는지 확인.
@IsAlphanumeric() 문자열이 알파벳과 숫자만 포함하는지 확인.
@IsEmail(options) 문자열이 이메일 형식인지 확인.
@Length(min, max) 문자열 길이가 지정된 범위 내에 있는지 확인.
@MinLength(min) 문자열 길이가 최소값 이상인지 확인.
@MaxLength(max) 문자열 길이가 최대값 이하인지 확인.
@IsUrl(options) 문자열이 URL 형식인지 확인.
@IsUUID(version) 문자열이 UUID 형식인지 확인 (버전 3, 4, 5).

배열 검증 데코레이터

데코레이터 설명

@ArrayContains(values) 배열이 지정된 값들을 모두 포함하는지 확인.
@ArrayNotContains(values) 배열이 지정된 값들을 포함하지 않는지 확인.
@ArrayNotEmpty() 배열이 비어 있지 않은지 확인.
@ArrayMinSize(min) 배열 길이가 최소값 이상인지 확인.
@ArrayMaxSize(max) 배열 길이가 최대값 이하인지 확인.
@ArrayUnique(identifier) 배열 값들이 고유한지 확인.

객체 검증 데코레이터

데코레이터 설명

@IsObject() 값이 객체인지 확인.
@IsNotEmptyObject() 객체가 비어 있지 않은지 확인.
@IsInstance(value) 값이 특정 클래스의 인스턴스인지 확인.

기타 데코레이터

데코레이터 설명

@Allow() 어떤 검증 조건도 지정되지 않은 경우 해당 속성을 유지하도록 설정.

'NestJS' 카테고리의 다른 글

NestJS Interceptor  (0) 2024.11.25
NestJS Pagination Common  (0) 2024.11.20
NestJS 페이징처리  (0) 2024.11.19
NestJS Class-transfomer  (0) 2024.11.18
NestJS DTO,Validation  (0) 2024.11.18
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유