Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

joi-translation-pt-br

Package Overview
Dependencies
Maintainers
1
Versions
7
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

joi-translation-pt-br

Mensagens de tradução dos erros de validação do Joi para PT-BR

  • 0.0.10
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
839
increased by9.67%
Maintainers
1
Weekly downloads
 
Created
Source

Tradução PT-BR para o Joi

GitHub npm npm GitHub issues

:brazil: Pacote contendo mensagens de tradução para PT-BR das mensagens de erro de validação do pacote Joi ("the most powerful schema description language and data validator for JavaScript").

Motivação

Essa biblioteca foi motivada devido a necessidade de ter de desenvolver aplicações reais para usuários brasileiros. Tendo esse contexto, devolver mensagens de erros de validação em inglês adiciona uma dificuldade maior nos projetos. Portanto, uma biblioteca com as mensagens de tradução, torna-se útil.

Instalando

É importante, antes de tudo, ressaltar que esse pacote não substitui o Joi. Ele é um complemento ao Joi. Portanto, tenha o Joi instalado na aplicação. Instale esse pacote usando o yarn:

yarn add joi-translation-pt-br

Ou com o npm:

npm install joi-translation-pt-br

Exemplos de Uso

Validando com schema

O exemplo abaixo encontra-se em examples/schema.

import Joi from 'joi';
import {messages} from 'joi-translation-pt-br';

const schema = Joi.object().keys({
    nome: Joi.string().required(),
    email: Joi.string().email().required(),
});

const result = schema.validate({
    nome: 'Eduardo Oliveira',
    email: 'aaaa'
}, { messages });

if (result.error) {
    console.log(result.error.details);
}

Rodando o arquivo com o ts-node, tem-se no terminal a resposta:

[
  {
    message: '"email" deve ser um e-mail válido',
    path: [ 'email' ],
    type: 'string.email',
    context: {...}
  }
]

Celebrate Middleware

import express from 'express';
import { celebrate, errors, Joi } from 'celebrate';
import { messages } from 'joi-translation-pt-br';

const ExampleValidation = celebrate({
    body: Joi.object().keys({
        email: Joi.string().required().email(),
        password: Joi.string().required(),
    }),
}, {
    abortEarly: false,
    messages: messages,
});

const app = express();
app.use(express.json());

app.post('/test', ExampleValidation, (req, res) => {
    res.json();
});

app.use(errors());
app.listen(3333);

Assim, fazendo requisições no formato errado, teremos a resposta:

{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "Validation failed",
  "validation": {
    "body": {
      "source": "body",
      "keys": [
        "email",
        "password"
      ],
      "message": "\"email\" deve ser um e-mail válido. \"password\" é obrigatório"
    }
  }
}

É possível, também, customizar a resposta do middleware e isso pode ser feito de acordo com a documentação aqui.

Author

This package was created by Eduardo Oliveira with the help of the community (see contributors).

License

MIT License © Eduardo Oliveira

Keywords

FAQs

Package last updated on 05 May 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc