Olá Cesar!
Pelo que você descreveu e o código que compartilhou, parece que você já está no caminho certo para implementar a proteção na entrada de valores. O seu if
verifica se o valor de "de" é maior que "ate" ou se a quantidade é maior do que a diferença entre "ate" e "de", o que é uma ótima abordagem.
Vamos revisar o seu código e garantir que ele esteja funcionando conforme o esperado:
if (de > ate || quantidade > (ate - de)) {
alert('Por favor, veja se você inseriu os números corretamente.');
reiniciar();
alterarClasse();
} else {
for (let i = 0; i < quantidade; i++) {
let numero = obterNumeroAleatorio(de, ate);
while (sorteados.includes(numero)) {
numero = obterNumeroAleatorio(de, ate);
}
sorteados.push(numero);
document.getElementById('resultado').innerHTML = `<label class="texto__paragrafo">Números sorteados: ${sorteados.sort(compararNumeros)}</label>`;
alterarClasse();
}
}
Aqui estão alguns pontos para garantir que tudo esteja funcionando corretamente:
- Verificação de valores: O seu
if
está correto. Ele verifica se "de" é maior que "ate" e se a quantidade é válida. - Reiniciar e alterarClasse: Certifique-se de que as funções
reiniciar()
e alterarClasse()
estão definidas e funcionando corretamente. - Laço for e while: O laço
for
e o while
estão bem implementados para garantir que os números sorteados sejam únicos. - Atualização do resultado: A linha que atualiza o
innerHTML
do elemento com id resultado
está correta.
Se mesmo após essas verificações o problema persistir, verifique se os valores de "de", "ate" e "quantidade" estão sendo capturados corretamente dos campos de entrada.
Espero ter ajudado e bons estudos!