이번 글에서는 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 타입이라는 뜻이다