1
resposta

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

function sortear(){
    let quantidade = parseInt(document.getElementById('quantidade').value);
    let deNumero = parseInt(document.getElementById('de').value);
    let ateNumero = parseInt(document.getElementById('ate').value);

    while (deNumero >= ateNumero){

        alert ( ' O valor do campo Do numero é maior ou igual ao valor do campo Até o número.');
        reiniciar();
        alterarStatusBotao();
        return;
    }

    let sorteados = [];
    let numero;

    for (let i = 0 ; i < quantidade; i++){

        numero = sortearNumeroAleatorio (deNumero, ateNumero);

        while (sorteados.includes(numero)){
            numero = sortearNumeroAleatorio (deNumero, ateNumero);
        }
        sorteados.push(numero);

            }

            let resultado = document.getElementById('resultado');
            resultado.innerHTML = ` <label class="texto__paragrafo">Números sorteados: ${sorteados} </label>`

            alterarStatusBotao();
            
}

function sortearNumeroAleatorio ( min, max){
    return Math.floor(Math.random() * (max - min + 1)) + min;
}

function alterarStatusBotao (){
    let botao = document.getElementById('btn-reiniciar');
    if (botao.classList.contains('container__botao-desabilitado')){
        botao.classList.remove('container__botao-desabilitado');
        botao.classList.add('container__botao');
    } else{
        botao.classList.remove('container__botao');
        botao.classList.add('container__botao-desabilitado');

    }
}

function reiniciar(){
    document.getElementById('quantidade').value = '';
    document.getElementById('de').value = '';
    document.getElementById('ate').value = '';
    document.getElementById('resultado').innerHTML = '<label class="texto__paragrafo">Números sorteados:  nenhum até agora</label>';
    alterarStatusBotao ();
}
1 resposta

Oi, Marcia! Como vai?

Obrigada por compartilhar seu código com a comunidade Alura.

Gostei de como você validou os valores antes de iniciar o sorteio. A verificação no while evita entradas inconsistentes e mantém a lógica segura.

Parabéns por praticar, continue assim.

Conte com o apoio do Fórum na sua jornada. Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓

bons estudos