Как проверить данные с помощью модуля экспресс-валидации в Node.js?

Опубликовано: 1 Августа, 2021

Валидацию в node.js можно легко выполнить с помощью модуля экспресс-валидатора. Этот модуль популярен для проверки данных. На рынке доступны и другие модули, такие как hapi / joi и т. Д., Но экспресс-валидатор широко используется и популярен среди них.
Шаги по установке модуля экспресс-валидатора:

  1. Вы можете установить этот пакет с помощью этой команды.
 npm установить экспресс-валидатор
  1. После установки вы можете проверить версию модуля экспресс-валидатора в командной строке с помощью команды.
 Экспресс-валидатор версии npm
  1. После этого вы можете просто создать простые данные, как показано ниже, для отправки данных на сервер.
    Имя файла: SampleForm.ejs

html




<!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 : < - type = "text" name = "email" > < br > 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 >
  1. После этого вы можете просто создать файл, например index.js, как показано ниже:
    Имя файла: index.js

javascript




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)
})

Шаги по запуску программы:

  1. Структура проекта будет выглядеть, как показано ниже:

  1. Убедитесь, что у вас есть «движок просмотра». Мы использовали «ejs», а также установили экспресс-валидатор и экспресс-валидатор, body-parser, используя следующие команды:
npm установить ejs
npm установить экспресс
npm установить body-parser
npm установить экспресс-валидатор
  1. Запустите файл index.js, используя команду ниже:
узел index.js

  1. Откройте браузер и введите этот URL-адрес http: // localhost: 8080 / , заполните этот образец формы правильными данными, как показано ниже:

  1. Затем отправьте форму, и если ошибки не возникнет, вы увидите следующий результат:

  1. И если вы попытаетесь отправить форму с неверными данными, вы увидите сообщение об ошибке, как показано ниже: