유효성 검사(validation)란?
사용자가 입력한 값의 유효성을 검사하는 것을 말합니다. 즉, 타당성을 확인하는 작업입니다.
예시.
회원가입할때 조건을 생각해 봅니다.
- email
- 값이 존재해야 한다.
- ~~~~@email.com 형태여야 한다.
- password
- 값이 존재해야 한다.
- 최소 숫자와 영문 한 글자씩은 포함한 4글자 이상 이어야 한다.
- name
- 값이 존재해야 한다.
- 숫자가 들어오면 안 되고 문자열이어야 하며 2자 이상 이어야 한다.
그렇다면 이 많은 조건들을 어떻게 확인을 해야 할까요? if를 통해서 작업을 하게 되면 if 대 잔치가 벌어지기 때문에 우리는 이것을 유효성 검사를 통해서 진행을 하려고 합니다. 어떻게 유효성 검사를 할 수 있을까요?
express-validator
우리는 유효성검사를 외부 모듈을 이용하여 확인을 하려 합니다. 이 express-validator는 node.js 14 이상의 버전에서 동작을 하는데요. 대게 req.body, req.cookies, req.header, req.params, req.query를 지원합니다.
express-validator 설치하기
npm install express-validator
express-validator 사용하기
const {body, validationResult} = require('express-validator');
express-validator를 사용하는 방법으로는 일단 express-validator를 불러오는 것인데요, 필요한 값이 req.body면 body, req.query 면 query를 작성하면 됩니다. 그렇다면 저 validationResult는 어떤 것일까요 우리가 유효성 검사를 할 때 결괏값을 알려주는 express-validator의 내장 함수입니다. 기본적으로 필요한 메서드들을 chain형태로 이어서 사용합니다
app.get('/',body("[찾을 데이터]").notEmpty().isString() ...,(req,res)=>{})
다양한 메서드들은 하단 링크를 통해서 확인하실 수 있습니다.
https://github.com/validatorjs/validator.js?tab=readme-ov-file#validators
'프로그래밍📚 > node' 카테고리의 다른 글
비밀번호를 안전하게 저장하는 암호화 (0) | 2024.01.02 |
---|---|
node의 파일 구조 (0) | 2024.01.02 |
router와 app.use() (0) | 2023.12.17 |
백엔드에서의 예외 처리 (0) | 2023.12.13 |
API 설계를 위한 팁 (0) | 2023.12.11 |