Dino Geek, cerca di aiutarti

Come convalidare le richieste in arrivo con joi o express-validator?


Per convalidare le richieste in arrivo, sia Joi che Express-Validator offrono soluzioni efficienti. Vediamo come utilizzare entrambi:

1. Joi:

Joi è un potente modulo di validazione per JavaScript che ti permette di creare schemi di validazione con un semplice e intuitivo API.

Ecco un esempio di convalida di una richiesta POST con Joi:

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

app.post(‘/example’, (req, res, next) => { const schema = Joi.object({ username: Joi.string().alphanum().min(3).max(30).required(), password: Joi.string().pattern(new RegExp(‘^[a-zA-Z0-9]{3,30}$’)), });

const { error } = schema.validate(req.body); if (error) { return res.status(400).json({ error: error.details0.message }); } next(); }); ```

In questo esempio, stiamo richiedendo che il campo “username” sia una stringa alfanumerica con una lunghezza minima di 3 e una lunghezza massima di 30. Il campo “password” deve rispettare una determinata espressione regolare. Se la richiesta non rispetta questi criteri, viene restituita una risposta con stato 400.

1. Express Validator:

Express-validator è un set di middleware di validazione ed espressione che si appoggia a `validator.js`.

Ecco un esempio di convalida utilizzando express-validator:

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

app.post(‘/example’, [ check(‘username’).isLength({ min: 3 }).withMessage(‘must be at least 3 chars long’), check(‘password’).isLength({ min: 5 }).withMessage(‘must be at least 5 chars long’)
], (req, res) => { const errors = validationResult(req); if (!errors.isEmpty()) { return res.status(400).json({ errors: errors.array() }); }

// If validation pass, do whatever you want to do here }); ```

In questo esempio, stiamo richiedendo che sia ‘username’ che ‘password’ siano delle stringhe di una lunghezza minima rispettivamente di 3 e 5. Se la richiesta non rispetta questi criteri, viene restituita una risposta con stato 400.


Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome 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 |






Avviso Legale / Condizioni Generali di Utilizzo