La validación en node.js se puede realizar fácilmente utilizando el módulo express-validator. Este módulo es popular para la validación de datos. Hay otros módulos disponibles en el mercado como hapi/joi, etc., pero express-validator es ampliamente utilizado y popular entre ellos.
Pasos para instalar el módulo express-validator:
- Puede instalar este paquete usando este comando.
npm install express-validator
- Después de la instalación, puede verificar la versión de su módulo de validación expresa en el símbolo del sistema usando el comando.
npm version express-validator
- Después de eso, puede crear datos simples como se muestra a continuación para enviar los datos al servidor.
Nombre de archivo: 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 : <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>
- Después de eso, puede crear un archivo, por ejemplo, index.js como se muestra a continuación:
Nombre de archivo: 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) })
Pasos para ejecutar el programa:
- La estructura del proyecto se verá como se muestra a continuación:
- Asegúrese de tener un ‘motor de visualización’. Hemos usado «ejs» y también instalamos express y express-validator, body-parser usando los siguientes comandos:
npm install ejs
npm install express
npm install body-parser
npm install express-validator
- Ejecute el archivo index.js usando el siguiente comando:
node index.js
- Abra el navegador y escriba esta URL http://localhost:8080/ , luego complete este formulario de muestra con los datos correctos como se muestra a continuación:
- Luego envíe el formulario y, si no se produce ningún error, verá el siguiente resultado:
- Y si intenta enviar el formulario con datos incorrectos, verá el mensaje de error como se muestra a continuación:
Publicación traducida automáticamente
Artículo escrito por gouravhammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA