4
respostas

[Dúvida] Verificação se o produto é válido

Olá!

Nesse exercício nº1 do "Desafio: hora da prática" Adicione validações no código para garantir que o usuário só consiga adicionar produtos ao carrinho se tiver selecionado um produto válido e inserido uma quantidade válida. Se a entrada não for válida, exiba uma mensagem de erro apropriada.

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )

Dúvidas: if(!produto || produto.trim() === " " ) 'Se não produto ou produto.trim igual a vazio' 1ª)Fiz a leitura correta?

2ª)O que é exatamente o "trim" ? Uma função para validar string produto?

3ª)E o porque dos três sinais de igual(===) ? Pode ser só dois(==) ?

4 respostas

Rubens beleza?

Vamos lá!!!

  1. Fez a leitura correta!!!
  2. o trim remove espaços em branco tanto na esquerda quanto a direita da string então se não tiver nenhuma string informada e caso a string seja apenas espaço em branco é removido pra garantir a validação do vazio
  3. E o terceiro é um pouco mais complexo pq com === ele valida a nível de tipo do dado, em algumas linguagens 1 == "1" passa mas 1 === "1" não vai passar pq está comparando integer com string, entendeu? Vc pode usar da forma como preferir desde que garanta o que está sendo validado.

Oi Rodrigo!

A dúvida nº 1 é só pra dizer se a leitura if(!produto || produto.trim() === " " ) que fiz esta correta ou errada no if da verificação do produto

Leitura da escrita do código ---> 'Se não produto ou produto.trim é igual a vazio.'

O que entendi é que ele só verifica se o produto é válido, caso negativo ele dar o alert e retorna a função adicionar

O trim remove ? Mas porque remove espaços em branco ou/e nenhuma string informada?

Poxa! ainda não entendi Rodrigo.

Rubens beleza?

Rssss normal vou tentar explicar de outra forma, veja se faz mais sentido:

O trim é um método para auxiliar de manipulação de strings, vc verá ela em outras linguagens não só em JS. O objetivo dele é remover espaços nas extremidades das strings por exemplo:

let refrigerante = "    Coca-Cola    ";

// se precisar escrever essa variável ou validar se é Coca-Cola
if (refrigerante == "Coca-Cola") {
    console.log("Ex-1: Não é Coca-Cola");
} else {
    console.log("Ex-1: É Coca-Cola");
}

// o retorno da condição acima será falsa, por conta dos espaços que fazem parte da variavel refrigerante
// e isso poderia ser um input de um usuário comum
// então vc poderia garantir uma assertividade melhor se manipular a string antes, por exemplo removendo os espaços

if (refrigerante.trim() == "Coca-Cola"{
    console.log("Ex-2: Não é Coca-Cola");
} else {
    console.log("Ex-2: É Coca-Cola");
}

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

Se ainda não entender, pode falar que a gente tenta outra abordagem. Abraços.

Oi Rodrigo ! Deu para esclarecer sim com os exemplos citados, mas no projeto não aparece a mensagem do alert , aquela mensagem pop up :'Selecione um produto válido.'

Como fazer aparecer o pop up?

Meu projeto completo:

![](Insira aqui a descrição dessa imagem para ajudar na acessibilidade )