2
respostas

[Sugestão] Proteção na entrada de valores

Estou enviando o trecho do código referente à atividade, que aborda especificamente a lógica de validação solicitada.

A validação implementada verifica se o intervalo entre o valor inicial e o valor final (de e ate) é suficiente para gerar a quantidade de números aleatórios (quantidade) solicitada pelo usuário.

Caso o valor inicial seja maior ou igual ao valor final, ou se a quantidade solicitada exceder o número total de possibilidades no intervalo, um alerta é exibido e a função reiniciarBotao() é chamada para limpar os dados inseridos incorretamente.

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

    let totalNumero = (ate - de) + 1;

    if (de >= ate){
        reiniciarBotao();
        alert('O valor "Do número" precisa ser menor que "Até o número". Verifique!');
        return;
    } else if (totalNumero < quantidade) {
        reiniciarBotao();
        alert('A "quantidade de números" precisa ser menor ao intervalo dos números escolhidos. Verifique!');
         return;
    } 
    
    //código omitido...

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

Ola Matheus.
Seu código contém alguns erros ou está com uma parte omitida.
Não está claro se declarou as variaveis de, ate, totalNumero e quantidade.
E a função reiniciarBotao também não foi definida.
Uma boa pratica é declarar variaveis com nomes que condizem com o seu proposito assim como fez na função.
Outra sugestão é chamar a função reiniciarBotao() apenas uma vez fora do if,else if.
E envolver o calculo (ate - de)+ 1 entre parenteses para certificar que o programa fara este calculo primeiro.
Comente ai qualquer duvida.
Bons estudos.

Olá Ronaldo, obrigado pela orientação, revisei o código compartilhado e fiz as devidas correções e comentarios para os demais colegas entender a minha solução.