Как проверить данные с помощью модуля экспресс-валидации в Node.js?
Опубликовано: 1 Августа, 2021
Валидацию в node.js можно легко выполнить с помощью модуля экспресс-валидатора. Этот модуль популярен для проверки данных. На рынке доступны и другие модули, такие как hapi / joi и т. Д., Но экспресс-валидатор широко используется и популярен среди них.
Шаги по установке модуля экспресс-валидатора:
- Вы можете установить этот пакет с помощью этой команды.
npm установить экспресс-валидатор
- После установки вы можете проверить версию модуля экспресс-валидатора в командной строке с помощью команды.
Экспресс-валидатор версии npm
- После этого вы можете просто создать простые данные, как показано ниже, для отправки данных на сервер.
Имя файла: 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 > |
- После этого вы можете просто создать файл, например 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) }) |
Шаги по запуску программы:
- Структура проекта будет выглядеть, как показано ниже:
- Убедитесь, что у вас есть «движок просмотра». Мы использовали «ejs», а также установили экспресс-валидатор и экспресс-валидатор, body-parser, используя следующие команды:
npm установить ejs
npm установить экспресс
npm установить body-parser
npm установить экспресс-валидатор
- Запустите файл index.js, используя команду ниже:
узел index.js
- Откройте браузер и введите этот URL-адрес http: // localhost: 8080 / , заполните этот образец формы правильными данными, как показано ниже:
- Затем отправьте форму, и если ошибки не возникнет, вы увидите следующий результат:
- И если вы попытаетесь отправить форму с неверными данными, вы увидите сообщение об ошибке, как показано ниже: