Validazione dei dati in Javascript con Joi
Joi è una libreria che ci permette di validare i dati in Javascript.
Teoricamente può essere in qualsia ambiente, da Node.js ad Angular, ecc.
Noi facciamo un test proprio in Node.js.
Per installarla possiamo usare npm:
$ npm i joi
A questo punto la prima cosa da fare è creare uno schema di validazione.
E poi passare i datialla funzione validate:
const joi = require('joi');
const schema = joi.object({
username: joi.string()
.min(3)
.required(),
email: joi.string()
.email({
minDomainSegments: 2,
tlds: {allow: ['com', 'it']}
})
.required(),
password: joi.string()
.pattern(new RegExp('^[a-zA-Z0-9]{3,30}$'))
.min(10)
.required(),
password_repeat: joi.ref('password')
});
console.log(schema.validate({username: 'abc', email: 'a@a.it'}));
console.log('-----');
console.log(schema.validate({username: 'abc', email: 'a@a.eu'}));
console.log('-----');
console.log(schema.validate({email: 'a@a.eu'}));
console.log('-----');
console.log(schema.validate({username: 'abc', email: 'a@a.it', password: '123'}));
console.log('-----');
console.log(schema.validate({username: 'abc', email: 'a@a.it', password: '123kkk7989', password_repeat: '444'}));
console.log('-----');
console.log(schema.validate({username: 'abc', email: 'a@a.it', password: '123kkk7989', password_repeat: '123kkk7989'}));
Vi ho messo vari esempi per visualizzare gli errori.
Comunque la libreria risponde sempre in formato JSON; molto utile nel caso si usi in una API.
Ovviamente la libreria non si esaurisce qui; potete usare diverse altre combinazioni, funzioni, tipi, ecc.
Enjoy!
javascript npm joi json
Commentami!