Repository navigation
Expand file tree
/
Copy pathex37.js
More file actions
58 lines (49 loc) · 1.65 KB
/
Copy pathex37.js
File metadata and controls
58 lines (49 loc) · 1.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
const inputcodigo = document.querySelector("#codigo");
const botao = document.querySelector("#btnValidar");
const mensagem = document.querySelector("#mensagem");
let tentativas = 0;
let limite = 3;
const codigoSalvo = "ABC";
function validar(codigoDigitado) {
if (codigoDigitado.trim() === "") {
return {
sucesso:false,
mensagem:"codigo não pode ser vazzio",
contarTentativas: false
};
}
if (codigoDigitado !== codigoSalvo) {
return {
sucesso: false,
mensagem: "codigo inválido",
contarTentativas: true
};
}
return {
sucesso: true,
mensagem: "código válido",
contarTentativas: false
};
}
botao.addEventListener("click", function() {
const codigoDigitado = inputcodigo.value;
const resultado = validar(codigoDigitado);
if (!resultado.sucesso) {
if (resultado.contarTentativas) {
tentativas++;
mensagem.textContent = resultado.mensagem;
if (tentativas === limite) {
mensagem.textContent = "Números de tentativas esgotadas. Acesso bloqueado";
botao.disabled = true;
} else {
mensagem.textContent = resultado.mensagem + ", Restam " + (limite - tentativas) + " tentativas."
}
} else { // Caso o erro não conte tentativa (campo vazio), apenas mostre a mensagem retornada pela função
mensagem.textContent = resultado.mensagem;
}
inputcodigo.value = "";
return;
}
mensagem.textContent = resultado.mensagem;
inputcodigo.value = "";
});