¿Cómo validar datos usando el módulo express-validator en Node.js?

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: 
 

  1. Puede instalar este paquete usando este comando. 
     
npm install express-validator
  1. 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
  1. 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>
  1. 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: 
 

  1. La estructura del proyecto se verá como se muestra a continuación: 
     

project structure

  1. 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
  1.  
npm install express
  1.  
npm install body-parser
  1.  
npm install express-validator
  1. Ejecute el archivo index.js usando el siguiente comando: 
     
node index.js
  1.  

Output of node index.js

  1. 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: 
     

Signup.ejs

  1. Luego envíe el formulario y, si no se produce ningún error, verá el siguiente resultado: 
     

success output

  1. Y si intenta enviar el formulario con datos incorrectos, verá el mensaje de error como se muestra a continuación: 
     

error-message

  1.  

Publicación traducida automáticamente

Artículo escrito por gouravhammad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *