0%
Gerenciamento de formulários e validação

Formulários

Receber dados de um desconhecido sem confiar nele.

15-20 min

Gerenciamento de formulários e validação

Um formulário é o único ponto de uma aplicação web em que um desconhecido escreve diretamente no seu sistema. Tudo o que sai dele é suspeito: um campo obrigatório vazio, uma idade negativa, um endereço de e-mail inventado, um nome de dois mil caracteres, um <script> em um comentário, um valor enviado por um cliente que não é a sua página.

A dificuldade não está em ler os parâmetros — getParameter resolve. Ela está em outro lugar, em três problemas que os tutoriais superficiais costumam pular.

O primeiro é a codificação. Um visitante digita "Genève", você grava "Genève". O bug só aparece nos acentos, portanto nunca nos conjuntos de teste em inglês, e sua correção não está onde se costuma procurar: nem na página, nem no banco de dados, mas em um filtro aplicado à requisição antes de qualquer leitura.

O segundo é a reexibição. Um formulário rejeitado deve voltar ao usuário com os dados digitados preservados e as mensagens de erro posicionadas ao lado dos campos correspondentes. Esvaziá-lo é obrigar a redigitar oito campos por causa de uma caixa esquecida — e essa é a primeira causa de abandono em um fluxo de compra.

Comentários

Os comentários são alimentados pelo GitHub Discussions

Conecte-se com o GitHub para participar da discussão

Link copiado!