Olá Ezequiel, tudo bem com você?
Peço desculpas pela demora em obter um retorno.
Quanto ao envio dos campos em branco, você pode adicionar uma validação para verificar se os campos de nome e senha estão preenchidos antes de criar um novo objeto no arquivo JSON.
Por exemplo:
autenticar(usuario: string, senha: string): Observable<any> {
if (!usuario || !senha) {
return throwError('Usuário e senha são obrigatórios.');
}
}
Outra forma de não aceitar campos em branco, é adicionar o atributo required
no seu formulário HTML. Ao adicionar o atributo required a um campo de entrada (por exemplo, <input type="text" required>
), o navegador irá verificar se o campo está vazio quando o formulário for enviado. Se o campo estiver vazio, o navegador não permitirá que o formulário seja enviado e exibirá uma mensagem de erro ao usuário, indicando que o campo é obrigatório.
Quanto a autenticação, é preciso utilizar o método subscribe
para monitorar a requisição post
, conforme mostro abaixo e é apresentado na aula Consumindo o serviço de autenticação:
login() {
this.authService.autenticar(this.usuario, this.senha).subscribe(
() => {
this.router.navigate(['animais']);
},
(error) => {
alert('Usuário ou senha inválido');
console.log(error);
}
);
}
Todavia, vale ressaltar que como é um assunto externo ao curso e que não tenho acesso ao cenário completo do seu projeto, outros testes terão de ser feitos a fim de obter o resultado esperado, mas espero que esta resposta seja um bom ponto de partida para a resolução do seu objetivo.
Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!