HooneyLog

객체안에 객체가 있는 nested object validation 하는 방법

프로필 이미지

Seunghoon Shin

2022년 5월 28일 04:44

이번 글에서는 Nest.js에서 Dto를 사용하여 nested object의 validation을 하는 방법을 적어보려한다.

만약 아래와 같은 image interface를 가진 객체 배열을 validation 하려면 어떻게 해야할까

interface Image {
  id:number
  url:string
  created_at:Date;
  updated_at:Date;
  home_id:number;
}

해결 방법

@ValidateNested@Type을 사용하면된다.

	@IsArray()
  @ValidateNested({ each: true })
  @Type(() => Image)
  images: Image[];

위 코드는 배열형태만 받으며 nested된 상태를 각각 validate 처리를 한다는 것이며, 그 nested 된 객체의 타입은 Image 타입이라는 뜻이다