📝
015_express_validator\validator// 파일이름 : 015_express_validator\app1.js
// npm i express express-validator
// https://express-validator.github.io/docs/
// npm i nodemon --save-dev
/*
http://localhost:8080/signup, raw, json
{
"name":"leehojun",
"age":10,
"nickname":"paullab"
}
*/
const express = require('express');
const expressValidator = require('express-validator');
const valibody = expressValidator.body; // body검사
const valicheck = expressValidator.check; // body와 param 모두 검사
const valiparam = expressValidator.param; // param 검사
const valiresult = expressValidator.validationResult;
const app = express();
app.use(express.json());
app.post(
'/signup',
valibody('name').isLength({ min: 3, max: 20 }),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(400).send('error!!');; // 400 Bad Request
}
});
app.listen(8080);
// 파일이름 : 015_express_validator\app2.js
// npm i express express-validator
// npm i nodemon --save-dev
// 메시지 추가!
/*
http://localhost:8080/signup, raw, json
{
"name":"leehojun",
"age":10,
"nickname":"paullab"
}
*/
const express = require('express');
const expressValidator = require('express-validator');
const valibody = expressValidator.body; // body검사
const valicheck = expressValidator.check; // body와 param 모두 검사
const valiparam = expressValidator.param; // param 검사
const valiresult = expressValidator.validationResult;
const app = express();
app.use(express.json());
app.post(
'/signup',
valibody('name').isLength({ min: 3, max: 20 }).withMessage('3자이상 20자 이하!!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.listen(8080);
// 파일이름 : 015_express_validator\app3.js
// npm i express express-validator
// npm i nodemon --save-dev
// 메시지 추가!
/*
http://localhost:8080/signup, raw, json
{
"name":"leehojun",
"age":10,
"nickname":"paullab"
}
*/
const express = require('express');
const expressValidator = require('express-validator');
const valibody = expressValidator.body; // body검사
const valicheck = expressValidator.check; // body와 param 모두 검사
const valiparam = expressValidator.param; // param 검사
const valiresult = expressValidator.validationResult;
const app = express();
app.use(express.json());
app.post(
'/signup',
valibody('name').isLength({ min: 3, max: 20 }).withMessage('이름 : 3자이상 20자 이하!!'),
valibody('nickname').isLength({ min: 3, max: 20 }).withMessage('닉네임 : 3자이상 20자 이하!!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.listen(8080);
// 파일이름 : 015_express_validator\app4.js
// npm i express express-validator
// npm i nodemon --save-dev
// 메시지 추가!
/*
http://localhost:8080/signup, raw, json
{
"name":"leehojun",
"age":10,
"nickname":"paullab"
}
*/
const express = require('express');
const { param } = require('express-validator');
const expressValidator = require('express-validator');
const valibody = expressValidator.body; // body검사
const valicheck = expressValidator.check; // body와 param 모두 검사
const valiparam = expressValidator.param; // param 검사
const valiresult = expressValidator.validationResult;
const app = express();
app.use(express.json());
// valibody를 모아 하나의 리스트로 묶기도 합니다. 저는 아래와 같이 사용해요.
app.post(
'/signup',
valibody('name').isLength({ min: 3, max: 20 }).withMessage('이름 : 3자이상 20자 이하!!'),
valibody('nickname').isLength({ min: 3, max: 20 }).withMessage('닉네임 : 3자이상 20자 이하!!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.get(
'/:postid',
param('postid').isInt().withMessage('그런 페이지는 읎어요!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.params);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.params);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.listen(8080);
// 파일이름 : 015_express_validator\app5.js
// 맨 앞부분에 trim(공백제거), toLowerCase 등을 사용해서 제대로 된 값이 들어가게 할 필요가 있음
// https://express-validator.github.io/docs/sanitization-chain-api.html
// 자세한 것은 validator.md를 참고해주세요.
// npm i express express-validator
// npm i nodemon --save-dev
// 메시지 추가!
/*
http://localhost:8080/signup, raw, json
{
"name":"leehojun",
"age":10,
"nickname":"paullab"
}
*/
const express = require('express');
const { param } = require('express-validator');
const expressValidator = require('express-validator');
const valibody = expressValidator.body; // body검사
const valicheck = expressValidator.check; // body와 param 모두 검사
const valiparam = expressValidator.param; // param 검사
const valiresult = expressValidator.validationResult;
const app = express();
app.use(express.json());
// valibody를 모아 하나의 리스트로 묶기도 합니다. 저는 아래와 같이 사용해요.
app.post(
'/signup',
valibody('name').trim().isLength({ min: 3, max: 20 }).withMessage('이름 : 3자이상 20자 이하!!'),
valibody('nickname').isLength({ min: 3, max: 20 }).withMessage('닉네임 : 3자이상 20자 이하!!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.body);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.get(
'/:postid',
param('postid').isInt().withMessage('그런 페이지는 읎어요!'),
(req, res, next) => {
const err = valiresult(req);
if (err.isEmpty()){
console.log(req.params);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
res.status(201).send('hello world!!');; // 201 Created
} else {
console.log(req.params);
// 아래 문법 대신 sendStatus를 사용해도 됩니다.
// res.status(400).send('error!!');; // 400 Bad Request
// res.status(400).json({ error : err });
res.status(400).json({ error : err.array() });
}
});
app.listen(8080);
// 파일이름 : 015_express_validator\package.json
{
"name": "015_express_validator",
"version": "1.0.0",
"description": "",
"main": "app.js",
"scripts": {
"test": "echo "Error: no test specified" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.17.1",
"express-validator": "^6.13.0"
},
"devDependencies": {
"nodemon": "^2.0.14"
}
}