¿Cómo validar datos usando el módulo joi en Node.js?

El módulo Joi es un módulo popular para la validación de datos. Este módulo valida los datos basados ​​en esquemas. Hay varias funciones como opcional(), requerida(), min(), max(), etc. que lo hacen fácil de usar y un módulo fácil de usar para validar los datos.
Introducción: 
 

  1. Es fácil de empezar y fácil de usar.
  2. Es un módulo ampliamente utilizado y popular para la validación de datos.
  3. Es compatible con la validación basada en esquemas.

Instalación del módulo joi: 
 

  1. Puedes visitar el enlace Instalar el módulo joi . Puede instalar este paquete usando este comando. 
     
    npm install joi
  2. Después de instalar multer, puede verificar su versión de joi en el símbolo del sistema usando el comando. 
     
    npm ls joi
  3. Después de eso, puede crear una carpeta y agregar un archivo, por ejemplo, index.js. Para ejecutar este archivo, debe ejecutar el siguiente comando. 
     
    node index.js
  4. Módulo requerido: debe incluir el módulo joi en su archivo usando estas líneas. 
     
    const Joi = require('joi');

Nombre de archivo: index.js 
 

javascript

const Joi = require('joi')
  
//User-defined function to validate the user
function validateUser(user)
{
    const JoiSchema = Joi.object({
      
        username: Joi.string()
                  .min(5)
                  .max(30)
                  .required(),
                    
        email: Joi.string()
               .email()
               .min(5)
               .max(50)
               .optional(), 
                 
        date_of_birth: Joi.date()
                       .optional(),
                         
        account_status: Joi.string()
                        .valid('activated')
                        .valid('unactivated')
                        .optional(),
    }).options({ abortEarly: false });
  
    return JoiSchema.validate(user)
}
  
const user = {
    username: 'Pritish',
    email: 'pritish@gmail.com',
    date_of_birth: '2020-8-11',
    account_status: 'activated'
}
  
response = validateUser(user)
  
if(response.error)
{  
    console.log(response.error.details)
}
else
{
    console.log("Validated Data")
}

Nota: En el programa anterior, abortEarly se establece en falso, lo que garantiza que, si hay varios errores, todos se muestren en la terminal. Si se establece en verdadero, la ejecución del programa se detendrá tan pronto como se encuentre el primer error y solo se mostrará ese error en la terminal.  

Pasos para ejecutar el programa: 
 

  1. La estructura del proyecto se verá así:
  2. Asegúrese de haber instalado el módulo joi usando el siguiente comando: 
     
    npm install joi
  3. Ejecute el archivo index.js usando el siguiente comando: 
     
    node index.js
  4. Ahora, si no se produce ningún error, es decir, se validan los datos del usuario, se producirá el siguiente resultado:
  5. Ahora, si validamos al usuario contra los datos no válidos como se muestra a continuación, se producirá el siguiente resultado: 
     

javascript

var user = {
    username: 'GH',
    email: 'demo@',
    date_of_birth: '2020-20-48',
    account_status: 'abcd'
};

If abortEarly is set to true the following output will be produced :

Así es como puede validar datos usando el módulo joi. Hay otros módulos en el mercado para validación como express-validator, etc.
 

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 *