Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Dúvida] Desafio hora pratica

alert("Boas vindas ao nosso site!");

let nomeDoUsuario = "Lua";
let idadeDoUsuario = 25;
let numeroDeVendas = 50;
let saldoDisponivel = 1000;
let mensagemDeErro = "Erro! Preencha todos os campos";
alert(mensagemDeErro);
nome = prompt("Digite seu nome:");
idade = prompt("Digite sua idade:");
if (idade >= 18) {
  alert("Pode tirar a habilitação!");
}
if (idade <=18) {
    alert("Não pode tiar habilitação");
}

Fiz meu código dessa forma como estava nas instruções, fiquei com duvida nessa parte do alerta do erro, pois mesmo sem digitar nada antes aparece a tela, queria saber como faço para aparecer a mensagem de erro somente quando algum campo não for preenchido.

1 resposta
solução!

Olá, Icaro! Como vai?

A título de confirmação, você gostaria que a mensagem de erro "Erro! Preencha todos os campos" aparecesse somente quando algum campo não for preenchido, correto? Nesse caso, é necessário verificar se as variáveis nome e idade estão vazias após o usuário interagir com os prompts.

No JavaScript, uma string vazia é considerada um valor "falsy", o que significa que ela será convertida para false em um contexto booleano. Portanto, você pode usar uma estrutura de controle if para verificar se as variáveis nome e idade estão vazias.

Aqui está um exemplo de como você pode fazer isso:

let nome = prompt("Digite seu nome:");
let idade = prompt("Digite sua idade:");

if (!nome || !idade) {
  alert(mensagemDeErro);
} else {
  if (idade >= 18) {
    alert("Pode tirar a habilitação!");
  } else {
    alert("Não pode tirar habilitação");
  }
}

Nesse código, !nome será true se nome for uma string vazia, e !idade será true se idade for uma string vazia. Se qualquer uma dessas condições for verdadeira, a mensagem de erro será exibida. Caso contrário, o código verificará a idade do usuário e exibirá a mensagem apropriada.

Espero ter ajudado e bons estudos!