본문 바로가기
All Side/Runtime > NodeJS

[Node.js] Validation 유효성 검사 + Joi 라이브러리

by developerBeluga 2022. 2. 12.
728x90
반응형

 

 

Validation 유효성 검사란

말그대로 validation은 어떤 것을 검증하는 것이다.

어떤 요청에 필요한 모든 데이터가 정상적으로 들어왔는지 안 들어왔는지를 확인하는게 validation이다.

 

 

Joi

대부분 유효성 검사를 하게 되면 if문을 자주 사용한다.

하지만 중복적으로 사용하는 코드가 많기에 월마트 개발자들이 유효성 검사를 해주는 라이브러리 Joi를 만들었다.

Joi 공식 문서 : https://joi.dev/api/?v=17.6.0 

 

joiSite

## Build Setup

joi.dev

 

const Joi = require('joi');

const postUserSchma = Joi.object({
    nickname: Joi.string().required(),
    email: Joi.string().email().required(),
    password: Joi.string().required(),
    confirmPassword: Joi.string().required(),
});

router.post("/users", async (req, res) => {
    try {
        const { nickname, email, password, confirmPassword } = await postUserSchma.validateAsync(req.body);
        ...
    } catch (error) {
        res.status(400).send({
            errorMessage: "요청한 데이터 형식이 올바르지 않습니다."
        });
    }
    
});

스키마를 정한 다음 유효성 검사를 해주고

 

사용자가 정확한 스키마를 입력하지 않으면 에러 메세지가 나온다!

 

 

 

 

 

728x90
반응형

댓글