2
respostas

[Projeto] Mão na massa: proteção no total de números sorteados - RESOLUÇÃO

function sortear () {
    // Captura e converte para número inteiro o valor digitado no campo "quantidade"
    let CampoQuantidade = parseInt(document.getElementById('quantidade').value);
    
    // Captura e converte o número inicial do intervalo.
    let DeNumero = parseInt(document.getElementById('de').value);
    
    // Captura e converte o número final do intervalo.
    let AteNumero = parseInt(document.getElementById('ate').value);

    if ((DeNumero - AteNumero) <= CampoQuantidade) {
        alert(`Por favor, verifique o intervalo dos números dos campos 'Do número' e Até o número'`);
        reiniciar(); // Limpa os campos
        return; // Interrompe a execução da função
    }
2 respostas

Oi, Karoline! Tudo bem?

Parabéns pelo trabalho! Deixo apenas uma sugestão: estamos verificando a condição if ((DeNumero - AteNumero) <= CampoQuantidade), mas para garantir que o intervalo seja suficiente para a quantidade de números a serem sorteados, a condição correta deveria ser:

if ((AteNumero - DeNumero + 1) < CampoQuantidade) {
    alert(`Por favor, verifique o intervalo dos números dos campos 'Do número' e 'Até o número'`);
    reiniciar(); // Limpa os campos
    return; // Interrompe a execução da função
}

Espero ter ajudado!

Um forte abraço e bons estudos!

Olá, Karoline,

Não é o objetivo deste curso, mas acho válido apontar que chamar a função reiniciar para limpar os campos após exibir o aviso é uma má prática de experiência de usuário. A mensagem já está avisando para o usuário verificar os valores dos campos, assim não é necessário fazer o usuário digitar todos os valores novamente, quando ele poderia simplesmente modificar um dos campos para corrigir o erro.