Input Validation with express-validator

🦁 Express.jsLesson 13Intermediate

Sanitizing inputs from user forms prevents SQL injections, XSS, and bad schemas. The package express-validator provides a clean API built as standard middleware blocks.

1 Setting up validation chains

Install the package: npm install express-validator. Configure validation rules for POST/PUT parameters:

JavaScript — validation_app.js
const { body, validationResult } = require("express-validator");

app.post("/register", [
  // Validation checks
  body("email").isEmail().withMessage("Must be a valid email address"),
  body("password").isLength({ min: 6 }).withMessage("Password must be at least 6 characters")
], (req, res) => {
  const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(400).json({ errors: errors.array() });
  }
  
  res.send("Registration input validated successfully!");
});
2 Code Challenge
Challenge: Add validation rules to registration inputs: ensure that the username property is not empty, and use `.trim()` and `.escape()` to sanitize the input values.