Back
Syntax
Study
Editor
Mode:
HTML
CSS
JavaScript
PHP
Reset
Run »
HTML / CSS / JS
// npm install express-validator const express = require('express'); const { body, param, validationResult } = require('express-validator'); const router = express.Router(); // Reusable validation result handler function validate(req, res, next) { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(422).json({ errors: errors.array() }); } next(); } // Create user – validation chain const createUserRules = [ body('name').trim().notEmpty().withMessage('name is required'), body('email').isEmail().normalizeEmail(), body('age').optional().isInt({ min: 0, max: 120 }).toInt(), body('password') .isLength({ min: 8 }).withMessage('password must be ≥ 8 chars') .matches(/[A-Z]/).withMessage('must contain an uppercase letter'), ]; router.post('/users', createUserRules, validate, (req, res) => { // By here, req.body values are sanitised and valid const { name, email, age, password } = req.body; res.status(201).json({ name, email, age }); }); // Param validation router.get('/users/:id', param('id').isInt({ min: 1 }).toInt(), validate, (req, res) => { res.json({ id: req.params.id }); } ); module.exports = router;
Result
Open