0Pricing
JavaScript Academy · Aula

Validação de entrada e fundamentos de escape

Valide e normalize entradas com pequenas listas de permissões e guardas; faça escape dos caracteres arriscados antes de exibir o texto

Validação de entrada e fundamentos de escape é uma aula grátis de JavaScript Academy no CoddyKit. Esta é a aula 1 de 3. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de JavaScript Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de JavaScript Academy inclui 3 aulas no total.

Visão geral

Objetivo: tornar as entradas previsíveis e seguras.

  • Use cláusulas de proteção para rejeitar entradas logo no início
  • Prefira listas de permissão a regras vagas
  • Normalize para um formato simples
  • Escape caracteres especiais antes de exibir texto
Validação de entrada e fundamentos de escape — ilustração 1

Noções básicas de proteção de números

Adicione proteções simples: verifique o tipo, verifique o intervalo e normalize para um valor final.

// Validate age: number and range guard
function parseAge(input) {
  // trim and parse
  const n = Number(input);
  if (!Number.isFinite(n)) return null; // reject non-numbers
  if (n < 0 || n > 130) return null;    // reject out-of-range
  return Math.floor(n);                  // normalize to integer
}

console.log("age ok:", parseAge("21"));
console.log("age bad:", parseAge("twenty"));
Validação de entrada e fundamentos de escape — ilustração 2

Escape para exibição segura

Antes de exibir o texto do usuário, converta os caracteres especiais para que a interface o trate como texto simples.

// Escape a few risky characters before displaying in HTML contexts
function escapeText(s) {
  if (typeof s !== "string") return "";
  return s
    .replaceAll("&", "&amp;")
    .replaceAll("<", "&lt;")
    .replaceAll(">", "&gt;")
    .replaceAll("\"", "&quot;")
    .replaceAll("'", "&#39;");
}

console.log("escaped:", escapeText("<b>Hello & bye</b>"));
Validação de entrada e fundamentos de escape — ilustração 3

Listas de permissão na prática

Prefira listas de permissão para conjuntos fixos, como códigos ou funções. Normalize maiúsculas, minúsculas e espaços.

// Allowlist example: only certain country codes
const ALLOWED = new Set(["TR", "US", "DE", "GB"]);

function parseCountry(code) {
  if (typeof code !== "string") return null;
  const up = code.trim().toUpperCase();
  if (!ALLOWED.has(up)) return null; // reject unknown
  return up; // normalized
}

console.log("country ok:", parseCountry("tr"));
console.log("country bad:", parseCountry("xx"));
Validação de entrada e fundamentos de escape — ilustração 4

Validador de objeto pequeno

Verifique o tipo e os limites, depois retorne uma estrutura normalizada em que o restante do código possa confiar.

// Validate a tiny user object and normalize
function validateUser(input) {
  if (typeof input !== "object" || input === null) return null;

  const nameOk = typeof input.name === "string" && input.name.trim().length >= 1 && input.name.trim().length <= 40;
  const ageOk = parseAge(input.age) !== null;

  if (!nameOk || !ageOk) return null;

  return {
    name: input.name.trim(),
    age: parseAge(input.age)
  };
}

console.log("user ok:", validateUser({ name: " Ayla ", age: "22" }));
console.log("user bad:", validateUser({ name: "", age: "old" }));
Validação de entrada e fundamentos de escape — ilustração 5

Bons hábitos de defesa

Dicas:

  • Valide nas bordas, como entrada do usuário e rede.
  • Use listas de permissão, intervalos e verificações de tipo.
  • Normalize uma vez; mantenha o restante simples.
  • Converta o texto antes de exibi-lo aos usuários.
Validação de entrada e fundamentos de escape — ilustração 6

Questionário sobre fundamentos da entrada defensiva

Verificação rápida: padrão de entrada segura.

Validação de entrada e fundamentos de escape — ilustração 7

Recapitulação

Recapitulação: Proteja logo no início, use listas de permissão, normalize para uma estrutura segura e converta o texto antes da exibição. Mantenha cada etapa pequena e legível.

Validação de entrada e fundamentos de escape — ilustração 8

Perguntas Frequentes

A aula “Validação de entrada e fundamentos de escape” é grátis?

Sim — o texto completo de “Validação de entrada e fundamentos de escape” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de JavaScript Academy, atualize para CoddyKit PRO. O curso de JavaScript Academy inclui 3 aulas no total.

O que vou aprender em “Validação de entrada e fundamentos de escape”?

Valide e normalize entradas com pequenas listas de permissões e guardas; faça escape dos caracteres arriscados antes de exibir o texto Você pratica JavaScript Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar JavaScript Academy?

Nenhuma experiência prévia é necessária. JavaScript Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 3.

Quanto tempo leva a aula “Validação de entrada e fundamentos de escape”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de JavaScript Academy?

Sim. Cada aula de JavaScript Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Validação de entrada e fundamentos de escape
  2. Mesclagem segura de objetos; congelamento e selagem
  3. Limites de erro (conceituais) sem estruturas de trabalho
← Voltar para JavaScript Academy