0.0.1 • Published 6 months ago

joi-translation-es v0.0.1

Weekly downloads
-
License
MIT
Repository
github
Last release
6 months ago

Traducción al español de Joi

GitHub npm npm GitHub issues

: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

Licencia MIT © Leandro Santiago Gomes

0.0.1

6 months ago