express.js) express-validator로 유효성 검사하기.

김명성·2022년 6월 23일
0

npm i --save express-validator

express-validator는 2가지 검증으로 나누어져 있다.

  1. logic 작성
// 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)
  1. logic 관찰
// 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

0개의 댓글