Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

  • Membros Pro
Postado

Pessoal, quando dá erro de schema xml, é apresentado uma mensagem de erro amigável e uma outra com mais detalhes, só que em inglês.
Eu quero formatar a mensagem que apresento para o meu usuário com o máximo de informação possível e em Português.
 

Exemplo de mensagem retornada:

TAG:<emit><enderEmit> ID:C06/xLgr(Logradouro) - Tamanho maior que o máximo permitido [RUA BELO HORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTE].

 --> 1832 - Element '{http://www.portalfiscal.inf.br/nfe%7DxLgr': [facet 'maxLength'] The value has a length of '108'; this exceeds the allowed maximum length of '60'.

Exemplo de mensagem que pretendo retornar ao meu usuário:

{
    "message": "Erro Schema 1832: O campo 'xLgr' (Logradouro) da tag '<emit> <enderEmit>' apresentou o seguinte problema: 'Tamanho maior que o máximo permitido [RUA BELO HORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTEHORIZONTE]. Tamanho máximo: 60'. Por favor, revise os dados informados.",
    "error": "Bad Request",
    "statusCode": 400
}

Estou utilizando regex para pegar alguns dados, mas o maior problema é que existe erro de schema para tamanho mínimo, máximo, enumeradores, tipos e etc.
Teria alguma forma mais fácil para eu abranger todos os erros possíveis do schema de forma a capturar os dados e formatar eles para apresentar ao meu usuário?

Linguagem de programação utilizada: Node.js - Nest.js

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

  • Fundadores
Postado

O ideal é tratar o problema, antes do Erro do Schema

Erro no Schema, já é atestado de óbito...  a tratativa, deveria ser feita na rotina de cadastro dos produtos clientes, e na rotina de inclusão de Notas

 

  • Curtir 2
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
3 minutos atrás, Daniel Simoes disse:

O ideal é tratar o problema, antes do Erro do Schema

Erro no Schema, já é atestado de óbito...  a tratativa, deveria ser feita na rotina de cadastro dos produtos clientes, e na rotina de inclusão de Notas

 

Sim concordo, mas em casos onde o erro passe despercebido ou algo do tipo e gere erro de schema eu preciso exibir a mensagem para o usuário de forma mais elegante e que ele entenda o erro.
Ai depois vou lá e altero no sistema.

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

  • Fundadores
  • Solution
Postado

Eu acho que seria algo difícil de implementar... pois você precisará "caçar" na String do Erro, textos, e traduzí-los...

Mas você poderia usar o evento Global de Exception do Application e verificar se o Exception é algo que requer tradução

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Membros Pro
Postado
1 hora atrás, Daniel Simoes disse:

Eu acho que seria algo difícil de implementar... pois você precisará "caçar" na String do Erro, textos, e traduzí-los...

Mas você poderia usar o evento Global de Exception do Application e verificar se o Exception é algo que requer tradução

Entendi, blz então.
Obrigado.

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...