Validar um campo significa verificar se o formato da informação contida nele está coerente com o que o restante do
código está esperando. Ela é importante para impedir que determinado bloco de código receba um dado em formato
incorreto. Se uma função aguarda um número para realizar uma operação matemática, mas recebe uma letra, teremos uma
falha grave, pois a execução não poderá prosseguir.
Nós fizemos alguns exemplos nos tópicos anteriores sobre JavaScript onde dois valores digitados pelo usuário são
multiplicados, então o script exibia o resultado. Tudo funcionou perfeitamente, mas só porque fizemos bom uso da página
e inserimos os dados corretamente, mas e se no lugar de um número tivéssemos inserido uma letra, o que aconteceria?
Vamos testar!
Oooops! Tentei multiplicar o número 4 pela letra R e vejam o que foi retornado no campo resultado. Apareceu a sigla
NaN, que significa Not a Number, ou seja, o código identificou que o valor não é um
número.
É para evitar esse tipo de problema que as validações existem. Nesse caso devemos, antes de
efetuar a multiplicação, verificar se os dados, tanto do campo 1 quanto do campo 2, são realmente números.
Para isso vamos usar os comandos de decisão if/else, e também uma função do próprio
JavaScript, chamada isNaN.
Conhecendo o isNaN
Essa função verifica se um determinado dado é um número. Esse dado pode ser o campo de um
formulário ou uma variável. O cuidado que se deve tomar com ela é que o retorno é sempre um valor booleano, ou seja,
true ou false, mas ela irá retornar true quando o dado NÃO for um
número e false quando for um número. Temos uma tendência em achar que o true será retornado quando for um
número, mas basta lembrar que a sigla NaN significa Not a
Number. Vamos a um exemplo para deixar bem claro.
var y = 5;
var x = “Contém Bits”;
var w = “8”;
isNaN(y); = retornará false, pois 5 é um número.
isNaN(x); = retornará true, pois o conteúdo de x não é um
número e sim uma string.
ixNaN(w); = retornará true, pois embora o que esteja armazenado na variável w seja um número, trata-se de uma string e não um valor numérico.
É importante que fique claro que essa função procura por números, ou seja, dados que possam sofrer operações
aritméticas. Strings e outros valores booleanos retornarão sempre true.
Bem, agora que você já sabe usar o if/else e o isNaN, fica fácil consertar o problema
exibido no início do tutorial. Vejam como ficaria uma das formas de evitar aquele erro do campo em branco sendo
tratado como zero:
Vou provocar um erro no navegador, vejam:
Vejam que inseri um dado não numérico no campo 2 e nossa validação funcionou perfeitamente! No entanto, o nosso minúsculo código ainda não está perfeito e vou lhes explicar o motivo. Aliás, vou demonstrar, vejam:
Eu não inseri nada no campo 2, mas mesmo assim nosso código não deu qualquer alerta. Isso aconteceu porque a função
isNaN tratou nosso campo vazio como se valesse zero. Vamos melhorar o código, para que campos vazios também tenham a
mensagem de alerta exibida. Para isso aumentaremos a validação para incluir campos de string vazios, que são
representados por um par de aspas, sem nada entre elas, dessa forma: “ ”
Então nosso código JavaScript ficará dessa maneira:
Vamos testar:
Percebam que com o campo em branco, agora ele exibe a mensagem de alerta e não processa o cálculo, ou seja, nosso minúsculo script está funcionando corretamente!
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
Civilization
A empresa Take-Two pagou à Infogrames mais de 22 milhões de dólares pelos direitos de Civilization, em novembro de 1994. Ainda sobre este título, Sid Meier, um dos seus fundadores, é o profissional da área dos games mais premiado em todo o mundo.
Muitos aplicativos
Instalar vários aplicativos com o mesmo propósito, como editores de texto, reprodutores de músicas ou vídeos e até programas antívirus sobrecarregam o seu sistema operacional e ainda ocupam espaço desnecessário em seu HD. Tenha apenas um bom programa para cada função.
Asteroids
O título Asteroids, do Atari, possui recorde de pontuação há 30 anos. Em 1982 um americano chamado Scott Safran atingiu a marca de 41.336.440. Atualmente ele faz parte de um minúsculo grupo de jogadores que conseguiram manter seus recordes por mais de 30 anos.
Tetris
O título Tetris detém o recorde de jogo mais adaptado de todos os tempos. No total foram mais de 60 plataformas diferentes que receberam alguma versão do quebra-cabeças criado por Alexey Pajitnov. Conheça mais sobre este incrível jogo clicando aqui.
Mega Man
A primeira versão do clássico Mega Man, para Nintendo 8 bits, tem seu recorde de pontos estabelecido em 03/11/2006, por David Archey, que cravou 2.396.700 pontos, terminando o jogo.
Máquina de Pascal
A Máquina de Pascal, criada em 1642 pelo filósofo, físico e matemático francês Blaise Pascal, é reconhecida como o primeiro computador do mundo e ele foi criado com o objetivo de calcular impostos. Saiba mais.
Pac Man
Apenas no ano de 1982, o clássico Pac Man vendeu mais de 400 mil máquinas de fliperama em todo o mundo e recebeu cerca de 7 bilhões de moedas nestas máquinas. Saiba mais.