Nodejs에서 Express-validator를 사용하여 유효성 검사하기

Photo of author

By tutor

Nodejs에서 Express-validator를 사용하여 유효성 검사하기

Nodejs에서 Express-validator를 사용하여 유효성 검사하기

 

Node.js에서 Express-validator를 사용하여 유효성 검사하기

Express-validator는 Node.js에서 사용되는 유효성 검사 미들웨어로, Express.js 애플리케이션에서 사용자 입력값의 유효성을 검사할 때 유용하게 사용됩니다. 이 글에서는 Express-validator를 사용하여 간단한 유효성 검사를 실시해보겠습니다.

Express-validator 설치하기

먼저, Express-validator를 설치해야 합니다. npm을 사용하여 다음 명령어로 설치합니다.

$ npm install express-validator

사용 방법

Express-validator의 사용 방법은 다음과 같습니다.

  1. 라우터 함수에서 검사 규칙을 정의합니다.
  2. 검사 규칙에 따라 검사를 진행합니다.
  3. 검사 결과를 처리합니다.

라우터 함수에서 검사 규칙을 정의하는 방법은 크게 두 가지가 있습니다. 첫 번째는 직접 규칙을 작성하는 것이고, 두 번째는 검사 규칙 객체를 만들어 사용하는 것입니다. 이 글에서는 두 번째 방법을 사용하겠습니다.

검사 규칙 객체를 만들 때는 check 함수를 사용합니다. check 함수는 첫 번째 인자로 검사 대상(키)을, 두 번째 인자로 에러 메시지를 받습니다. 다음은 검사 규칙 객체 작성 예시입니다.

const { check } = require('express-validator');

[
  check('name', '이름은 반드시 입력해야 합니다.').not().isEmpty(),
  check('email', '이메일 형식이 올바르지 않습니다.').isEmail(),
  check('password', '비밀번호는 6글자 이상이어야 합니다.').isLength({ min: 6 })
]

위 예시에서는 name, email, password 키를 검사하며, 각 검사 규칙과 에러 메시지가 설정되어 있습니다.

다음으로 검사를 진행하는 방법입니다. 아래 코드는 POST /signup 라우터에 적용된 예시입니다.

const { validationResult } = require('express-validator');

app.post('/signup', [
  check('name', '이름은 반드시 입력해야 합니다.').not().isEmpty(),
  check('email', '이메일 형식이 올바르지 않습니다.').isEmail(),
  check('password', '비밀번호는 6글자 이상이어야 합니다.').isLength({ min: 6 })
], (req, res) => {
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() });
  }

  // 검사 통과 후의 로직
});

위 예시에서는 검사 규칙 객체를 라우터 함수에 전달하고, validationResult 함수를 호출하여 검사 결과를 가져옵니다. errors 객체에는 검사에 실패한 내용이 담겨 있으며, 검사 통과 후의 로직을 작성합니다.

결론

이렇게 Express-validator를 사용하여 간단한 유효성 검사를 실시할 수 있습니다. 검사 기능이 추가된 라우터 함수를 만들어, 애플리케이션의 보안성을 강화해보세요!

키워드: 자바스크립트, 노드, Express-validator, 유효성 검사