How to Validate Data using express-validator Module in Node.js ?
Last Updated :
28 Apr, 2025
Improve
Validation in node.js can be easily done by using the express-validator module. This module is popular for data validation. There are other modules available in market like hapi/joi, etc but express-validator is widely used and popular among them.
Steps to install express-validator module:
- You can install this package by using this command.
npm install express-validator
- After installation, you can check your express-validator module version in command prompt using the command.
npm version express-validator
- After that, you can just create a simple data as shown below to send the data to the server.
Filename: SampleForm.ejs
<!DOCTYPE html>
<html>
<head>
<title>Validation using Express-Validator</title>
</head>
<body>
<h1>Demo Form</h1>
<form action="saveData" method="POST">
<pre>
Enter your Email : <input type="text" name="email"> <br>
Enter your Name : <input type="text" name="name"> <br>
Enter your Number : <input type="number" name="mobile"> <br>
Enter your Password : <input type="password" name="password"> <br>
<input type="submit" value="Submit Form">
</pre>
</form>
</body>
</html>
- After that, you can just create a file, for example index.js as show below:
Filename: index.js
const { check, validationResult }
= require('express-validator');
const bodyparser = require('body-parser')
const express = require("express")
const path = require('path')
const app = express()
var PORT = process.env.port || 3000
// View Engine Setup
app.set("views", path.join(__dirname))
app.set("view engine", "ejs")
// Body-parser middleware
app.use(bodyparser.urlencoded({ extended: false }))
app.use(bodyparser.json())
app.get("/", function (req, res) {
res.render("SampleForm");
})
// check() is a middleware used to validate
// the incoming data as per the fields
app.post('/saveData', [
check('email', 'Email length should be 10 to 30 characters')
.isEmail().isLength({ min: 10, max: 30 }),
check('name', 'Name length should be 10 to 20 characters')
.isLength({ min: 10, max: 20 }),
check('mobile', 'Mobile number should contains 10 digits')
.isLength({ min: 10, max: 10 }),
check('password', 'Password length should be 8 to 10 characters')
.isLength({ min: 8, max: 10 })
], (req, res) => {
// validationResult function checks whether
// any occurs or not and return an object
const errors = validationResult(req);
// If some error occurs, then this
// block of code will run
if (!errors.isEmpty()) {
res.json(errors)
}
// If no error occurs, then this
// block of code will run
else {
res.send("Successfully validated")
}
});
app.listen(PORT, function (error) {
if (error) throw error
console.log("Server created Successfully on PORT ", PORT)
})
Steps to run the program:
- The project structure will look as shown below:

- Make sure you have a ‘view engine’. We have used “ejs” and also install express and express-validator, body-parser using following commands:
npm install ejs
npm install express
npm install body-parser
npm install express-validator
- Run index.js file using below command:
node index.js

- Open the browser and type this URL http://localhost:8080/, the fill this sample form with correct data as shown below:

- Then submit the form and if no error occurs, then you will see the following output:

- And if you try to submit the form with incorrect data, then you will see the error message as shown below:
