Olá pessoal.
Eu não assisti essa aula e não sei exatamente como é o exercício que vocês têm que resolver, mas tentei só fazer o código funcionar da forma mais simples possível, eu fiz duas versões basicamente, esse é a primeira versão completa:
alert ('Bem-vindo ao nosso site!');
let mensagemDeErro = 'Erro! Preencha todos os campos';
let nome = prompt('Digite o seu nome');
let idade = prompt('Digite a sua idade');
if((nome === '' || nome === null) || (idade === '' || idade === null)) { alert(mensagemDeErro); }
else {
if (idade >= 18) { alert(nome + ' pode tirar a habilitação!'); }
else { alert(nome + ' não pode tirar a habilitação!'); }
}
Vou explicar cada parte, esse código é uma versão mais básica para vocês entenderem a lógica das validações.
alert ('Bem-vindo ao nosso site!');
Aqui estamos utilizando a função alert() para exibir uma mensagem na tela assim que a página ou o script começar a rodar.
let mensagemDeErro = 'Erro! Preencha todos os campos';
Criamos uma variável chamada mensagemDeErro que armazena a mensagem de erro que vamos usar depois. Assim, se quisermos mudar a mensagem no futuro, só precisamos alterar essa variável em um único lugar.
let nome = prompt('Digite o seu nome');
let idade = prompt('Digite a sua idade');
Utilizamos a função prompt() para pedir ao usuário que digite o nome e a idade.
O que acontece aqui é que o valor digitado fica armazenado dentro das variáveis nome e idade.
Agora, precisamos verificar se o usuário preencheu corretamente os campos antes de continuar.
if((nome === '' || nome === null) || (idade === '' || idade === null)) {
alert(mensagemDeErro);
}
Aqui usamos uma estrutura condicional if para verificar se o usuário deixou algum campo vazio.
- Se nome for igual a "" (vazio) ou null (caso o usuário tenha cancelado o prompt), significa que ele não preencheu.
- O mesmo vale para idade.
Se pelo menos um dos campos estiver vazio ou for null, mostramos o alert(mensagemDeErro), avisando o usuário do erro.
Caso o usuário tenha preenchido corretamente, continuamos com outra verificação:
else {
if (idade >= 18) {
alert(nome + ' pode tirar a habilitação!');
}
else {
alert(nome + ' não pode tirar a habilitação!');
}
}
Aqui temos mais um if dentro do else, que verifica a idade:
- Se a idade for maior ou igual a 18, significa que o usuário pode tirar a habilitação, então mostramos a mensagem confirmando isso.
- Caso contrário, mostramos uma mensagem dizendo que ele não pode.
Aqui tem uma segunda versão com o while para validação, não sei se já viram, mas é certo que vão ver sobre loops no futuro, esse é um segundo código:
alert('Bem-vindo ao nosso site!');
let mensagemDeErro = 'Erro! Preencha todos os campos';
let dadosPreenchidos = false;
let nome;
let idade;
while (dadosPreenchidos === false) { // enquanto os dados não forem preenchidos, vai repetir esse bloco de código
nome = prompt('Digite o seu nome');
idade = prompt('Digite a sua idade');
dadosPreenchidos = (nome !== '' && nome !== null) && (idade !== '' && idade !== null); //aqui vou validar se todos os campos foram preenchidos, caso precise adicionar mais campos, só seguir a mesma lógica
if (!dadosPreenchidos) //verifico se os dados não foram preenchidos e se não foram, vai mostrar amensagem abaixo
{
alert(mensagemDeErro);
}
}
if (idade >= 18) { alert(nome + ' pode tirar a habilitação!'); } //checa se possui 18 anos ou mais e retorna mensagem positiva
else { alert(nome + ' não pode tirar a habilitação!'); } //se não for maior ou igual a 18 anos retorna mensagem negativa
Agora, em vez de pedir diretamente os valores, criamos uma variável chamada dadosPreenchidos que vai nos ajudar a verificar se o usuário realmente digitou algo válido.
let dadosPreenchidos = false;
let nome;
let idade;
- dadosPreenchidos = false significa que, no início, assumimos que o usuário ainda não preencheu os dados corretamente.
- Declaramos as variáveis nome e idade sem atribuir valores ainda.
Agora, usamos um loop while para forçar o usuário a preencher corretamente os dados antes de continuar.
while (dadosPreenchidos === false) {
O while significa "enquanto a condição for verdadeira, continue repetindo esse bloco de código".
No caso, enquanto dadosPreenchidos for false, continuamos pedindo os dados.
Dentro do while, pedimos o nome e a idade:
Agora, validamos se o usuário realmente digitou algo válido.
dadosPreenchidos = (nome !== '' && nome !== null) && (idade !== '' && idade !== null);
Aqui verificamos se os dois campos foram preenchidos corretamente. Se os dois estiverem preenchidos corretamente, dadosPreenchidos recebe true, e o while para de repetir.
O restante é bem parecido com o primeiro código.
Espero que eu tenha ajudado!