Dino Geek, intenta ayudarte

¿Cómo validar solicitudes entrantes con joi o express-validator?


Tanto “joi” como “express-validator” son paquetes de Node.js que proporcionan un conjunto de herramientas para validar información entrante en servidores Express

Primero necesitarás instalar estos en tu proyecto de Express con el comando `npm install`.

Usando Joi:

```javascript
const Joi = require(‘joi’);

app.post(‘/example’, (req, res) => { const schema = Joi.object({ nombre: Joi.string().required(), correo: Joi.string().email().required(), contraseña: Joi.string().min(5).required(), });

const result = schema.validate(req.body); if (result.error) { res.status(400).send(result.error); return; } res.send(‘Datos validados con éxito’); }); ```

En este ejemplo, estamos utilizando las siguientes funciones para validar los datos:

- `Joi.string().required()` indica que el campo debe ser una cadena y no puede estar vacío.
- `Joi.string().email().required()` indica que el campo debe ser una dirección de correo válida.
- `Joi.string().min(5).required()` indica que el campo debe ser una cadena de al menos cinco caracteres de longitud.

Usando Express-Validator

```javascript
const { check, validationResult } = require(‘express-validator’);

app.post(‘/example’, [ check(‘nombre’).isString(), check(‘correo’).isEmail(), check(‘contraseña’).isLength({ min: 5 }) ], (req, res) => {

const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); } res.send(‘Datos validados con éxito’); }); ``` Similares a las funciones de Joi, `check(…).isString()`, `check(…).isEmail()`, y `check(…).isLength({ min: 5 })` hacen exactamente mismas validaciones.

En ambos casos, siempre se valida la petición antes de cualquier otro procesamiento. Los campos no validados se rechazan inmediatamente con un código de error HTTP 400.


Genera artículos simplemente para optimizar tu SEO
Genera artículos simplemente para optimizar tu SEO





DinoGeek ofrece artículos sencillos sobre tecnologías complejas

¿Desea ser citado en este artículo? Es muy sencillo, contáctenos en dino@eiki.fr.

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nombre de dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Aviso legal / Condiciones generales de uso