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

[Projeto] Validacao e melhorias no codigo

Resolucao da questão 1 de validacao e melhorias do codigo:

let precoTotal;
limpar();

function adicionar(){
    // Recuperar valores numero do pedido , quantidade  e valor
    let produto = document.getElementById('produto').value;
    let quantidade = document.getElementById('quantidade').value;

    // Se os valores nao forem validos, para a execução
    if (!validar(produto, quantidade)) return;

    // calcular o preco 
    let nomeProduto = produto.split('-')[0];
    let precoUnitario = parseFloat(produto.split('R$')[1]);  // converte pra numero
    let preco = precoUnitario * quantidade;

    // adicionar ao carrinho
    let carrinho = document.getElementById('lista-produtos');
    carrinho.innerHTML += `<section class="carrinho__produtos__produto">
        <span class="texto-azul">${quantidade}x</span> ${nomeProduto} 
        <span class="texto-azul">R$ ${preco.toFixed(2)}</span></section>`
    
    // atualizar o valor total da compra
    precoTotal += preco;
    document.getElementById('valor-total').textContent = `R$ ${precoTotal.toFixed(2)}`;

    // resetar a quantidade para zero
    document.getElementById('quantidade').value = 0;

}

function limpar(){
    precoTotal = 0;

    // Limpar entradas iniciais do carrinho
    document.getElementById('lista-produtos').innerHTML = '';
    document.getElementById('valor-total').textContent = 'R$ 0';
}

function validar(produto, quantidade){
    // Verificar se o produto selecionado é válido
    if (!produto || produto.trim() === "") {
        alert("Selecione um produto válido.");
        return false;
    }

    // Verificar se a quantidade inserida é válida
    if (isNaN(quantidade) || quantidade <= 0) {
        alert("Insira uma quantidade válida.");
        return false;
    }

    return true;
}
2 respostas
solução!

Olá, Hirislayne. Tudo bem?

Muito obrigado por compartilhar o seu código aqui com a gente. Parabéns pelo trabalho. Continue com essa dedicação.

Muito bom como você estruturou a função de validação e as verificações para garantir que os valores inseridos sejam válidos.

Uma curiosidade legal é o uso do método isNaN() que você já aplicou na validação da quantidade. Esse método pode ser útil para checar se uma variável é "Not-a-Number", o que você já usa bem. Para facilitar, você pode também utilizar o método Number.isNaN() para garantir uma checagem mais precisa em vez de apenas isNaN(). Veja como ficaria:


let quantidade = "abc";
if (Number.isNaN(parseInt(quantidade))) {
    alert("Insira um número válido");
}

Esse código garante que, se o valor não puder ser convertido para um número, ele será tratado como inválido.

Conte com o apoio do Fórum. Bons estudos.

Muito obrigada pelo retorno! Adicionarei esse detalhe!