joi-translation-es v0.0.1
Traducción al español de Joi
:globe_with_meridians: Paquete que contiene mensajes de traducción al español neutro para los mensajes de error de validación del paquete Joi ("el lenguaje de descripción de esquemas y validador de datos más poderoso para JavaScript").
Motivación
Esta biblioteca fue creada debido a la necesidad de desarrollar aplicaciones reales para usuarios hispanohablantes. En este contexto, devolver mensajes de error de validación en inglés agrega una dificultad adicional a los proyectos. Por lo tanto, una biblioteca con mensajes traducidos se vuelve útil.
Instalación
Es importante destacar que este paquete no reemplaza a Joi. Es un complemento para Joi. Por lo tanto, asegúrate de tener instalado Joi en tu aplicación. Instala este paquete utilizando yarn:
yarn add joi-translation-pt-br
O con npm:
npm install joi-translation-pt-br
Ejemplos de Uso
Validación con esquema
El siguiente ejemplo se encuentra en examples/schema
.
import Joi from 'joi';
import {messages} from 'joi-translation-es';
const schema = Joi.object().keys({
nombre: Joi.string().required(),
correo: Joi.string().email().required(),
});
const result = schema.validate({
nombre: 'Leandro Santiago Gomes',
correo: 'aaaa'
}, { messages });
if (result.error) {
console.log(result.error.details);
}
Ejecutando el archivo con ts-node
, se obtiene la respuesta en la terminal:
[
{
message: '"correo" debe ser un correo válido',
path: [ 'correo' ],
type: 'string.email',
context: {...}
}
]
Middleware Celebrate
import express from 'express';
import { celebrate, errors, Joi } from 'celebrate';
import { messages } from 'joi-translation-pt-br';
const middleware = celebrate({
body: Joi.object().keys({
correo: Joi.string().required().email(),
contrasena: Joi.string().required(),
}),
}, { abortEarly: false, messages });
const app = express();
app.use(express.json());
app.post('/test', middleware, (req, res) => {
res.json();
});
app.use(errors());
app.listen(3333);
De esta manera, realizando solicitudes con un formato incorrecto, obtendremos la siguiente respuesta:
{
"statusCode": 400,
"error": "Bad Request",
"message": "Validation failed",
"validation": {
"body": {
"source": "body",
"keys": [
"correo",
"contrasena"
],
"message": "\"correo\" debe ser un correo válido. \"contrasena\" es obligatoria"
}
}
}
Autor
Este paquete fue creado por Leandro Santiago Gomes basado en joi-translation-pt-br creado por Eduardo Oliveira
Licencia
6 months ago