はじめに
expressを使ってユーザー認証機能を作ったときに使ったexpress-validator
について使い方をメモ
使い方
router.ts
import express, { Request, Response } from 'express'; // TSなので型もインポート。一応。
import { body } from 'express-validator';
const router = express.Router();
router.post(
'/api/users/signup',
[
body('email') // req.body.emailがメールかどうかをvalidateしてくれる
.isEmail()
.withMessage('Email must be valid'), // invaludであればメッセージを返す
body('password')
.trim()
.isLength({ min: 4, max: 20 }) // req.body.passwordの文字数を指定
.withMessage('Password must be between 4 and 20 characters') // invaludであればメッセージを返す
],
(req: Request, res: Response) => { // 一応TSなので型を明記
const { email, password } = req.body;
if (!email || typeof email !== 'string') {
res.status(400).send('Provide a valid email');
}
// new User({ email, password })
// ここからユーザーを作成する
}
);
export { router };