Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

13 Mão na massa: proteção na entrada de valores

**Implemente uma proteção dentro da função sortear para que esse alerta seja exibido.
**

function sortear(){ /* Função principal para sortear os números */
  let quantidade = parseInt(document.getElementById('quantidade').value);
  let de = parseInt(document.getElementById('de').value);
  let ate = parseInt(document.getElementById('ate').value);

  //- VALIDAÇÃO 1: Verifica se os campos estão preenchidos
  if (isNaN(quantidade) || isNaN(de) || isNaN(ate)) {
    alert('Por favor, preencha todos os campos!');
    return; // Para a execução da função
  }

  //-VALIDAÇÃO 2: Verifica se "De" é menor que "Até"
  if (de >= ate) {
    alert('O campo "Do número" deve ser menor que "Até o número"!');
    return;
  }

  // VALIDAÇÃO 3: Verifica se a quantidade é possível
  if (quantidade > (ate - de + 1)) {
    alert('A quantidade de números solicitada é maior que o intervalo disponível!');
    return;
  }

  // VALIDAÇÃO 4: Verifica se a quantidade é positiva
  if (quantidade <= 0) {
    alert('A quantidade deve ser maior que zero!');
    return;
  }


  let sorteados = []; /* Array para armazenar os números sorteados */
  let numero;

  for (let i = 0; i < quantidade; i++) { /* Loop para sortear a quantidade desejada de números */
    numero = obterNumeroAleatorio(de, ate);

    while (sorteados.includes(numero)) { /* Verifica se o número já foi sorteado retornando falso ou verdadeiro */
      numero = obterNumeroAleatorio(de, ate); /* Sorteia um novo número */
    }
    sorteados.push(numero); /* Adiciona o número sorteado ao array */

  }

  let resultado = document.getElementById('resultado');
  resultado.innerHTML = `<label class="texto__paragrafo">Números sorteados: ${sorteados}</label>`; /* Exibe os números sorteados */
  alterarStatusBotao(); /* Chama a função para alterar o status do botão de reiniciar */

}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas
solução!

Oi, José Antônio! Como vai?

Agradeço por compartilhar.

Gostei da sua implementação, ela cobre todas as validações necessárias de forma bem estruturada, evitando erros comuns ao sortear os números. Ficou clara a preocupação em garantir que os campos estejam preenchidos e que os valores façam sentido.

Continue explorando esse tipo de proteção lógica nas funções, pois ela ajuda muito a tornar o código mais confiável.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!

Obrigado Lorena!
Agradeço também a sua sugestão de leitura.