Olá, estou no exercício "Simulando uma tela de login" do curso "Curso Lógica de programação I: Os primeiros programas com Javascript e HTML"
e não consegui fazer a mensagem de
mostra("Usuário ou senha inválidos");
Seja exibida a cada tentativa sem sucesso. Elas são exibidas apenas quando o while termina.
O código todo está assim:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Login do Sitema</title>
</head>
<body>
<script type="text/javascript">
function testaParamentroNulo(parametro) {
return typeof(parametro) == "undefined";
}
function mostra(mensagem) {
document.write("<big>" + mensagem + "</big>");
pulaLinha();
}
function pulaLinha(numeroLinhas) {
if(testaParamentroNulo(numeroLinhas)) {
document.write("<br><hr>");
} else {
for(var i = 0; i < numeroLinhas; i++) {
document.write("<br>");
}
document.write("<br><hr>");
}
}
function testaLogin(usuario, senha) {
if(usuario == usuarioSistema && senha == senhaUsuarioSistema) {
return true;
}
return false;
}
var usuarioSistema = "admin" ;
var senhaUsuarioSistema = "123";
var numeroMaxTentativasLogin = 3;
var tentativasLogin = 0;
var usuarioAutenticado = false;
while(tentativasLogin < 3 && !usuarioAutenticado) {
var usuario = prompt("Digite o nome de usuário: ");
var senha = prompt("Digite a senha: ");
if(testaLogin(usuario, senha)) {
usuarioAutenticado = true;
mostra("Login efetuado com sucesso.");
} else {
mostra("Usuário ou senha inválidos");
}
tentativasLogin++;
if(tentativasLogin == 3) {
mostra("O número máximo de tentativas foi excedida, tente novamentes mais tarde!");
}
}
</script>
</body>
</html>
Se o usuário e senha estiverem corretos funciona beleza.
Se exceder as 3 tentativas também para de boa.