티스토리 뷰
최근에 전혀 그럴 의도가 없었지만 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 탭을 참고하면 잘 나와있다. 절대 더 쓰기 싫어서 포스트를 여기까지 줄이는 것이 아니다.
'개인공부 > Node.js' 카테고리의 다른 글
[Node.js] Telegram Bot으로 API 서버 에러를 보고 받아보자 (0) | 2017.05.11 |
---|---|
[node.js] express.js 라우트 요청 객체(req), 응답 객체(res) 정리 (0) | 2016.07.21 |