Módulo 14 - Lógica aplicada no mundo real
Validando dados: nunca confie no que chega de fora
8 min de leitura · por Cesar Gargiulo, revisado pela equipe ValorFinal e GuardiaSec · Atualizado em 02/07/2026
O que você vai aprender
- Entender por que todo dado que vem de fora precisa ser conferido antes do uso.
- Escrever o laço de validação que insiste até o dado chegar válido.
- Definir regras de faixa, tipo e preenchimento para campos comuns.
- Escrever mensagens de erro que dizem o que aconteceu e como corrigir.
Ouvir o resumo desta aula
Um recap de cerca de 2 minutos na voz do Valim, para ouvir no trânsito ou na academia.
Ler a transcrição do resumo
Resumo da aula: Validando dados: nunca confie no que chega de fora.
Os objetivos desta aula. Entender por que todo dado que vem de fora precisa ser conferido antes do uso. Escrever o laço de validação que insiste até o dado chegar válido. Definir regras de faixa, tipo e preenchimento para campos comuns. Escrever mensagens de erro que dizem o que aconteceu e como corrigir.
Veja o essencial, parte por parte.
Dado que vem de fora sempre pode vir errado. Validar é conferir se um dado serve ANTES de usá-lo no cálculo: tipo certo, faixa certa, campo preenchido.
O validador em pseudocódigo: o laço que insiste. O coração do validador é um padrão que você já conhece por partes: o laço ENQUANTO do módulo 9 abraçando uma condição de comparação do módulo 6.
Mensagens de erro que ajudam em vez de irritar. Usar SE em vez de ENQUANTO: barra a primeira tentativa errada e deixa a segunda passar.
Esse foi o resumo do essencial. Para se aprofundar, leia a aula completa e responda os exercícios.
Dado que vem de fora sempre pode vir errado
Imagine o cadastro da escolinha de futebol do bairro, feito num programa que você escreveu. Na primeira semana chegam fichas com idade -5, nota de avaliação física 15 (numa escala de 0 a 10) e um nome em branco. Se o programa aceitar tudo, o relatório do fim do mês sai com uma média impossível e uma criança sem nome no time. O computador, literal como você aprendeu no módulo 1, não estranha nada disso: ele calcula com o que recebeu. Estranhar é trabalho seu, e a ferramenta para estranhar de forma automática chama-se validação.
A regra de ouro dos sistemas de verdade cabe em uma frase: nunca confie na entrada. Não por má vontade com as pessoas, mas por realismo. Dedos escorregam no teclado, campos são trocados de lugar, a vírgula vira ponto, alguém preenche correndo no ônibus. Existe até um ditado clássico da computação para isso: entra lixo, sai lixo. Nenhum cálculo, por mais correto que seja, salva um dado de entrada errado. Por isso a validação vem ANTES do processamento, como o segurança confere o ingresso antes de a pessoa entrar na festa, e não depois.
| Campo | Regra de validação | Exemplo que o validador barra |
|---|---|---|
| Idade | número inteiro entre 0 e 120 | -5 e 200 |
| Nota da prova | número entre 0 e 10 | 15 e -2 |
| Valor do produto | número maior que zero | -10 e 0 |
| Nome | texto preenchido, sem ficar vazio | campo em branco |
Cada campo tem a sua regra: faixa, tipo e preenchimento definidos antes de o programa rodar.
O validador em pseudocódigo: o laço que insiste
O coração do validador é um padrão que você já conhece por partes: o laço ENQUANTO do módulo 9 abraçando uma condição de comparação do módulo 6. A novidade é o jeito de pensar: a condição do laço descreve o caso ERRADO, não o certo. Enquanto a idade estiver fora da faixa, o programa explica e pede de novo. Quando o dado finalmente chega válido, a condição fica falsa e a execução segue em frente, com a garantia de que dali para baixo a idade é confiável.
escreva("Digite a idade (0 a 120):")
leia(idade)
enquanto idade < 0 ou idade > 120 faça
escreva("Idade inválida. Digite um número entre 0 e 120.")
leia(idade)
fim
escreva("Idade registrada: ", idade)
// Digitando -5, depois 200, depois 37:
// o programa recusa duas vezes, aceita 37 e mostra "Idade registrada: 37".O laço de validação: a condição descreve o caso inválido e insiste até o dado servir.
Repare no detalhe que separa o validador amador do profissional: usar ENQUANTO em vez de SE. Um SE conferiria apenas a primeira tentativa; se a pessoa errasse de novo, o valor ruim passaria direto. O ENQUANTO cria um portão de verdade: ninguém segue com dado inválido, seja na segunda, na quinta ou na décima tentativa. E o operador OU, que você desenhou no módulo 7, junta as duas formas de errar (abaixo do mínimo, acima do máximo) numa condição só.
🎮 Jogo da aula
Passa ou barra?
Use as regras da tabela da seção anterior: idade de 0 a 120, nota de 0 a 10, valor maior que zero, nome preenchido. Classifique cada dado.
Uma dica de projeto: quando um campo aparece em vários lugares (a idade entra no cadastro, na renovação e no relatório), vale transformar a validação numa função, como você aprendeu no módulo 12. Uma função validarIdade() escrita uma vez e chamada em todo lugar garante que a regra é a MESMA no sistema inteiro. Regra duplicada é regra que um dia diverge, e aí o cadastro aceita o que a renovação recusa.
Mensagens de erro que ajudam em vez de irritar
A validação tem duas metades: a lógica que barra e a mensagem que conversa. A segunda é tão importante quanto a primeira, porque quem digita não vê o seu código, vê só o texto na tela. Uma mensagem boa responde duas perguntas em uma linha: o que aconteceu e o que fazer agora. Compare “erro” com “Idade inválida. Digite um número entre 0 e 120.”. A primeira gera uma segunda tentativa no chute; a segunda resolve na hora. Sistemas respeitosos tratam o erro como parte normal da conversa, sem tom de bronca.
Guarde esta aula como alicerce do módulo: o sistema de médias, o jogo de adivinhação e o caixa eletrônico das próximas aulas só funcionam porque assumem dados já validados. É assim nos sistemas profissionais também. O aplicativo do banco confere o valor do PIX antes de qualquer outra coisa; o site de passagens valida a data antes de buscar voos. A validação é invisível quando funciona, e é exatamente essa a meta.
Teste rápido
Por que o validador usa ENQUANTO, e não SE, para conferir a idade digitada?
Perguntas frequentes
- Validar tudo não deixa o programa chato de usar?
- Chato é o programa aceitar o erro calado e explodir depois, quando ninguém lembra mais o que digitou. A validação bem feita é rápida e educada: barra na hora, explica a regra e deixa corrigir ali mesmo. O incômodo de um aviso agora evita o prejuízo de um relatório errado depois.
- O que significa “entra lixo, sai lixo”?
- É o ditado clássico da computação (garbage in, garbage out): se o dado de entrada está errado, o resultado sai errado, por mais perfeito que o cálculo seja. Uma média calculada com a nota 15 numa escala de 0 a 10 está matematicamente correta e completamente inútil. A validação existe para impedir que o lixo entre.
- Preciso validar mesmo quando eu sou a única pessoa que usa o programa?
- Precisa, porque o você de hoje digita errado tanto quanto qualquer usuário. Além disso, programas úteis têm o hábito de ganhar usuários: o controle de gastos que era só seu vira o da família em um mês. Validar desde o começo custa três linhas; adicionar validação depois de o estrago aparecer custa uma investigação.
- Qual a diferença entre validar o tipo e validar a faixa?
- O tipo pergunta “isso é um número?”; a faixa pergunta “esse número faz sentido aqui?”. O texto “abc” num campo de idade reprova no tipo; o número 200 reprova na faixa. Um validador completo confere primeiro o tipo (não dá para comparar texto com 120) e depois a faixa.
- Por que a condição do laço descreve o caso inválido, e não o válido?
- Porque o ENQUANTO repete enquanto a condição for verdadeira, e o que você quer repetir é a cobrança do dado. “Enquanto a idade estiver fora da faixa, peça de novo” lê exatamente como o programa se comporta. Se a condição descrevesse o caso válido, o laço repetiria justamente quando está tudo certo.
- Validação de entrada resolve o caso de alguém tentando burlar o sistema de propósito?
- É a primeira camada, não a única. Ela barra o dado malformado, seja por engano ou por má-fé, mas sistemas de verdade somam outras defesas: conferência no servidor, limites de tentativas e registros de auditoria. A lição desta aula vale em todas as camadas: nunca confie na entrada.
Fontes
Seu progresso fica salvo neste aparelho. Assinantes sincronizam entre os aparelhos.