Ir para conteúdo
  • Cadastre-se

dev botao

Formatar mensagem de erro de schema xml


Ver Solução Respondido por Daniel Simoes,

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

  • 3 semanas depois ...
  • Membros Pro
Postado
Em 12/12/2024 at 11:48, 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

Pode fechar o post

Valter Patrick

Gerente de Projetos na empresa CTEC

(33)98400-0936

GitHub: https://github.com/valterpatrick

Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...