액티브 스킬/노드

<노드> joi 라이브러리(validator) 에러: Cannot read property 'presence' of undefined

디벅잉 2022. 4. 13. 16:54
728x90

 

👾

 

joi

게시글 업로드시 제목, 작성자, 게시글 등의 타입 확인, 글자수 제한 같은 확인이 필요합니다.

joi 라이브러리를 사용하면 이를 쉽게 구현할 수 있습니다.

1. 스키마를 정의합니다. (=검증에 필요한 내용 작성)

2. 옵션을 설정합니다. (=검증 방법에 대한 설정, 에러가 발생해도 나머지 데이터에 대한 검증을 계속할 것인지 등)

3. 에러 또는 결과를 받아와서 결과를 처리합니다.

위 코드와 같이 미들웨어로 작성한 경우 아래처럼 활용할 수 있습니다.

 

Cannot read property 'presence' of undefined

`"title" failed custom validation because Cannot read property 'presence' of undefined` 에러가 발생하여 한참을 고생했습니다.

어김없이 오타가 원인이었습니다.

스키마를 정의할 때 각각의 데이터에 대해 required() 메서드를 호출해야 하는데, required까지만 작성한 것이 문제였습니다.

// title: Joi.string().min(4).max(16).required, (x) 
title: Joi.string().min(4).max(16).required(),  // (o)

 

728x90