[Node.js]Validation 유효성 검사란?
클라이언트가 서버에게 특정한 요청이나 또는 리소스를 만들기 위해 body로 보내는 데이터들이 유효한지, 정확한 데이터를 보내고 있는지 확인하는 과정이다.
보통 스키마가 확정된 DB를 이용하면 어떤 특정한 필드가 어떤 데이터 타입인지 정해져 있기 때문에, 어떤 요청에 필요한 모든 데이터가 정상적으로 왔는지, Validation 을 DB에서 해줄 수 있다.
But, DB에서 Validation 을하기 전까지 전혀 유효성 검증을 하지 않는것은 쏘베드..
그래서 서버에서 유효성 검사를 할 수 있다. 서버에서도 유효성 검사를 빨리하면 할수록 좋다.
비용을 줄이기 위해 유효성 검사는 되도록 빨리하는 것이 좋다.(필수)
물론 클라이언트 측에서도 유효성 검사를 할 수도 있다. (옵션)
그렇다면 Node Express에서 어떻게 유효성 검사를 할 수 있을까
import { validationResult } from 'express-validator'
export const validate = (req, res, next)=>{
const errors = validationResult(req);
//error가 없다면 next middleware (진짜 로직 실행)으로 넘어감
if(errors.isEmpty) {
return next();
}
return res.status(400).json({message: errors.array()[0].msg});
}