# Validaciones
# Joi
El lenguaje de descripción de esquemas y el validador de datos más poderoso para JavaScript.
Instalación
npm install @hapi/joi
Joi le permite validar sus datos usando un lenguaje simple a partir de esquemas o plantillas. Al igual que el resto del ecosistema hapi en el que encaja, joi le permite describir sus datos tanto para la validación de entrada como de salida, como parte de un servidor HTTP hapi o independiente.
Uso
const Joi = require('@hapi/joi');
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}$')),
repeat_password: Joi.ref('password'),
access_token: [
Joi.string(),
Joi.number()
],
birth_year: Joi.number()
.integer()
.min(1900)
.max(2013),
email: Joi.string()
.email({ minDomainSegments: 2, tlds: { allow: ['com', 'net'] } })
})
schema.validate({ username: 'abc', birth_year: 1994 });
// -> { value: { username: 'abc', birth_year: 1994 } }
schema.validate({});
// -> { value: {}, error: '"username" is required' }
// Also -
try {
const value = await schema.validateAsync({ username: 'abc', birth_year: 1994 });
}
catch (err) { }
← Modules Documentación →