Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Tratamento de erro ao logar

if(!user || senha != user.senha){
                   return done(null, false, {
                       mensagem: 'Login ou senha incorretos!'
                   })
               }

Temos essa parte do código no arquivo de autorização. Como eu pego essa mensagem de erro ao logar e faço algo com ela? Como mostrar na tela, por exemplo?

2 respostas
solução!

Olá Lucas, tudo bem com você?

Esse atributo está sendo passado para o campo info, dessa forma podemos capturar em outras partes do código, vou fazer o que você citou:

/base-controlador.js
  if (info) {
      return resp.marko(templates.base.login);
}

Aqui o que estamos fazendo é: "Se houve algum erro de validação, redirecione para a mesma página"

Mas dado que já temos o info podemos redirecionar e adicionar esse objeto de erro, por exemplo:

if (info) {
    return resp.marko(templates.base.login, { info });
}

Aqui só um adendo ( que não sei se é comentado na aula), se a nossa chave e valor do objeto são iguais, podemos fazer dessa maneira, mas na pratica é a mesma coisa de fazer { info: info }

E no nosso login.marko podemos fazer a verificação:

    <main class="conteudoPrincipal">
        <div class="alert alert-danger" if(data.info)>
                ${data.info.mensagem}
        </div>

image

Conseguiu Compreender?

Abraços e Bons Estudos!

Tinha chegado a mesma solução. Mas obrigado mesmo assim!