티스토리 뷰

반응형

 최근에 전혀 그럴 의도가 없었지만 node.js 스킬을 향상해야하는 일이 발생하고 있다. 덕분에 다양한 모듈들을 접하고 신세계를 맛보는 중인데, 앞으로 몇 가지를 아카이빙 겸으로 포스팅할 예정이다. 오늘은 아카이빙할 모듈은 express.js에서 사용할 수 있는 request 유효값 검사 모듈 express-validator다.

 express-vaildator는 vaildator라는 비슷한 형태의 모듈에서 파생된 오픈 소스 모듈이다. vaildator는 Back-end, Front-end 둘 다 사용할 수 있지만 express-vaildator는 express의 요청 객체(req)의 형태에 적합하게 사용할 수 있도록 변형시킨 모듈이다. vaildator는 크게 2가지의 기능을 제공하며 express-validator에 그대로 계승되었다.

  • Validators (유효값 검사)
  • Sanitizers (살균, 보안 위협을 제거하기 위한 기능들)

Validators와 Sanitizers 내의 메소드들에 대한 설명은 vaildator의 Github 페이지를 참고해보도록 하자. isEmail(), isNumeric(), isNull() 등 굉장히 유용한 유효값 검사 메소드와, escape(), rtrim()과 같은 필수 적인 보안 관련 메소드들이 있다. 그리고 이러한 메소드 들을 express-validator 미들 웨어를 통해 Request 객체(req)에 확장하여 사용할 수 있다. 

express에서 사용하기 위해서는 우선 npm install express-validator --save 로 패키지를 설치하고 다음과 같이 미들웨어 사용을 선언하는 것으로 사용할 수 있다.

app.use(expressVaildator()) 로 미들웨어 사용을 선언할 때 expressVaildator()의 인자로 옵션을 던져줄 수 있는데 옵션 내역은 Github의 README 참고. 아래는 GET 방식을 통해 들어온 파라미터의 email 규격을 검사하는 간단한 예제 코드이다.

위 코드를 노드로 띄우고 GET 방식으로 이메일 주소를 던졌을 때 정상적인 이메일 규격을 따른다면 'Email Check OK' 메시지가 출력되고 email 규격이 아닐 경우 'Email Check Error' 메시지가 뜨는걸 확인 할 수 있다.

이메일 규격 검사 성공 케이스

이메일 규격 검사 실패 케이스

 위의 예제는 방금 발로 짠 매우 간단한 예제고 좀 더 좋은 예제는 expressVaildator의 Github README의 Usage 탭을 참고하면 잘 나와있다. 절대 더 쓰기 싫어서 포스트를 여기까지 줄이는 것이 아니다.

반응형
프로필사진

Yowu (Yu Yongwoo)

흔한 Node.js/Java 백엔드 개발자입니다
Ubuntu와 MacOS 데스크탑 개발 환경을 선호합니다
최근에는 vscode와 IntelliJ를 사용하고 있습니다
vscode에는 neovim, IntelliJ는 ideaVim
개발용 키보드는 역시 HHKB Pro 2 무각입니다
락 밴드에서 드럼을 쳤습니다

댓글쓰기 폼
«   2021/10   »
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31            
글 보관함
Total
3,248,816
Today
618
Yesterday
500