npm i --save express-validator
express-validator는 2가지 검증으로 나누어져 있다.
// router
const { check } = require('express-validator');
// '/' path로 보내는 모든 post는 해당 validator를 충족해야 한다.
// methods는 직관적이다.
router.post('/', [
check('title').not().isEmpty(),
check('description').isLength({min: 5}),
check('address').not().isEmpty()], placesControllers.createPlace)
// router controller
const createPlace = (req,res,next) => {
// 작성한 validatiors를 관찰할 수 있게 만드는 validationResult.
const errors= validationResult(req);
if(!errors.isEmpty()){
console.log(errors);
// HttpError은 custom-error-hook.
throw new HttpError ('입력하신 정보가 유효하지 않습니다', 422)
}
const {title, description, coordinates, address, creator} = req.body;
const createdPlace = {
id: v4(),
title,
description,
location: coordinates,
address,
creator
};
DUMMY_PLACES.push(createdPlace);
res.status(201).json({place: createdPlace})
}
postman
terminal