Input Validation with express-validator
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.