Pular para o conteúdo
Oneck Creative

Lei de Postel: o formulário que entende o cliente vende

O cliente digitou o telefone com espaço, o CPF sem ponto e o CEP sem hífen, e o formulário recusou dados certos. A Lei de Postel explica por que isso custa vendas e como ser generoso com o formato sem abrir mão do conteúdo.

10 min de leitura
Lei de Postel: o formulário que entende o cliente vende

O telefone estava certo, o cliente sabe o próprio número de cor, e mesmo assim o site respondeu "formato inválido". Essa recusa acontece no formulário, a última etapa antes da conversão. A Lei de Postel, uma regra escrita para a internet em 1980, explica como parar de perder essa venda.

FORMULÁRIO RÍGIDOsó aceita (11) 98765-43211198765432111 98765 4321+55 11 98765-4321✕✕✕ FORMULÁRIO TOLERANTE1198765432111 98765 4321+55 11 98765-4321(11) 98765-4321

O mesmo telefone, três jeitos de digitar. O formulário rígido exige um formato exato e recusa os outros dois, mesmo com todos os números certos. O tolerante entende os três e guarda um só, no padrão do sistema.

O seu cliente digitou o telefone com espaço, o CPF sem ponto e o CEP sem hífen. Os dados estavam certos. Quem errou foi o formulário que recusou.

Os mesmos dados, digitados de vários jeitos: veja quem entende

Cada linha das tabelas abaixo é um dado digitado de um jeito que muita gente usa. Na coluna do meio, a resposta de um validador rígido, como o de muitos sites. Na da direita, a de um validador que segue a Lei de Postel.

Celular com DDD (o validador rígido exige exatamente "(11) 98765-4321")

DigitadoValidador rígidoValidador de Postel
11 98765 4321Formato inválido.Entendido. Guardado como (11) 98765-4321
11987654321Formato inválido.Entendido. Guardado como (11) 98765-4321
(11)98765-4321Formato inválido.Entendido. Guardado como (11) 98765-4321
+55 11 98765-4321Formato inválido.Entendido. Guardado como (11) 98765-4321
011 98765-4321Formato inválido.Entendido. Guardado como (11) 98765-4321
11 9876-4321Formato inválido.Parece que falta um dígito. Celulares têm 9 números depois do DDD. Recebi 8.

CPF (o validador rígido exige exatamente "000.000.000-00")

DigitadoValidador rígidoValidador de Postel
529 982 247 25Formato inválido.Entendido. Guardado como 529.982.247-25
52998224725Formato inválido.Entendido. Guardado como 529.982.247-25
529.982.247-25Aceito.Entendido. Guardado como 529.982.247-25
529.982.247-26Aceito.Confira os últimos dígitos. 529.982.247-26 não passa na verificação.
529-982-247/25Formato inválido.Entendido. Guardado como 529.982.247-25

CEP (o validador rígido exige exatamente "00000-000")

DigitadoValidador rígidoValidador de Postel
01310100Formato inválido.Entendido. Guardado como 01310-100
01310-100Aceito.Entendido. Guardado como 01310-100
01.310-100Formato inválido.Entendido. Guardado como 01310-100
01310 100, com espaços nas pontasFormato inválido.Entendido. Guardado como 01310-100
0131010Formato inválido.O CEP tem 8 números. Recebi 7.

Repare no CPF terminado em 26: o validador rígido aceita, porque o desenho está certo, e o de Postel recusa, porque o dígito verificador não confere.

Os números de exemplo são fictícios. O CPF é validado pelos dígitos verificadores, como faz a Receita.

Uma regra de rede que virou regra de formulário

Jon Postel foi um dos arquitetos da internet. Cientista da computação da Universidade do Sul da Califórnia, editou a série de documentos que define os protocolos da rede, as RFCs, de 1969 até morrer, e comandou a IANA, o órgão que distribui endereços e domínios. Morreu em 16 de outubro de 1998, aos 55 anos, depois de uma cirurgia no coração.

Em janeiro de 1980, na especificação do protocolo IP, a RFC 760, ele escreveu a frase que virou princípio:

"Uma implementação deve ser conservadora no que envia e liberal no que recebe."
Jon Postel, RFC 760, 1980

O raciocínio era prático. A internet ia ligar computadores de fabricantes diferentes, com programas escritos por equipes diferentes. Se cada um recusasse qualquer mensagem levemente fora do padrão, nada conversaria com nada. Então cada sistema deveria enviar dados perfeitamente dentro da norma e aceitar dados imperfeitos, desde que desse para entender o que se queria dizer.

quem enviaconservadorexatamente no padrãoquem recebeliberalaceita variações que dá para entender

O princípio da robustez. No site, quem envia é você: mensagens, confirmações e dados exibidos sempre no formato certo. Quem recebe também é você: o que o cliente digita entra por um funil largo.

Traduzido para UX, a regra fica assim: seja rigoroso no que o site mostra e generoso no que o site aceita. O cliente não tem obrigação de saber o formato que o seu banco de dados prefere. Esse problema é do sistema.

Por que recusar um dado certo custa tão caro

Para o cliente, uma mensagem de "formato inválido" num dado que ele sabe de cor soa como acusação. Ele digitou o próprio telefone. Ele sabe que está certo. A conclusão dele é "este site não funciona".

E o erro chega no pior momento possível: no formulário, que é a última etapa antes da conversão. O cliente já escolheu, já decidiu, já se convenceu. Só falta entregar os dados. Cada recusa desnecessária ali é uma venda que estava pronta e escapou.

MENSAGEM QUE ACUSACelular11 9876 4321Formato inválido.Inválido como? Falta o quê? Sobra o quê? MENSAGEM QUE AJUDACelular(11) 9876-4321Parece que falta um dígito.Celulares têm 9 números depois do DDD.

Às vezes o dado está errado de verdade. Mesmo aí, Postel ajuda: o site formata o que foi digitado, mostra ao cliente e explica exatamente o que falta, no lugar de devolver um "inválido" genérico.

Quem foi generoso e quem pagou por ser rígido

1

Os navegadores e o HTML (anos 90 até 2014): venceu por tolerância. Desde o começo, os navegadores mostravam páginas com HTML malfeito: tag sem fechar, atributo sem aspas, tudo. Nos anos 2000, o W3C tentou impor o XHTML, mais rígido, em que um único erro podia impedir a página de aparecer. Não pegou. Em 2009, o W3C encerrou o grupo do XHTML 2, e o HTML5 acabou padronizando como o navegador deve se recuperar dos erros.

Lição: a web cresceu porque qualquer pessoa conseguia publicar uma página imperfeita. Rigor demais na entrada mata a adoção.

2

Os pontos do Gmail (Google): venceu por tolerância. Para o Gmail, "joao.silva", "joaosilva" e "JoaoSilva" são o mesmo endereço. Os pontos e as maiúsculas são ignorados. Quem digita o e-mail de um amigo com ou sem ponto entrega a mensagem do mesmo jeito.

Lição: se duas formas de escrever só podem significar a mesma coisa, trate as duas como iguais.

3

O número do cartão (Baymard Institute): ainda insiste no erro. O número vem impresso no cartão em grupos de quatro, e muita gente digita assim. A Baymard testou checkouts de grandes lojas e encontrou cerca de 15% dos sites que ainda não formatam os espaços. Em 2019, eram 50%. E em mais de um terço dos sites testados, um erro de digitação apagava o número inteiro, obrigando o cliente a redigitar tudo.

Lição: aceite os espaços, formate enquanto o cliente digita e nunca apague o que ele já preencheu.

4

O homem chamado Null (Wired, 2015): sistema rígido demais. O jornalista Christopher Null escreveu sobre a vida com um sobrenome que muitos sistemas confundem com "campo vazio", porque "null" é o termo técnico para ausência de valor. No Brasil, o problema aparece com nomes acentuados, com apóstrofo, como D'Ávila, e com nomes compostos longos que não cabem no limite de caracteres.

Lição: o dado real do cliente é a referência. Se o sistema recusa um nome de verdade, o erro é do sistema.

5

A própria internet revisou o princípio (RFC 9413, junho de 2023): o outro lado da lei. Martin Thomson e David Schinazi publicaram pelo Conselho de Arquitetura da Internet um documento chamado "Maintaining Robust Protocols". O argumento: tolerância em excesso faz os erros se acumularem. Cada sistema aceita um defeito diferente, os defeitos viram padrão informal, e fica impossível corrigir sem quebrar tudo. Em alguns casos, a tolerância abriu brechas de segurança. A proposta é tratar violações com clareza e manter as especificações vivas, em vez de engolir qualquer coisa.

Lição para UX: seja generoso com o formato e rigoroso com o conteúdo. Aceite o telefone com ou sem espaço. Não aceite um telefone com dez dígitos achando que o cliente "quis dizer" outra coisa. Normalize, mostre o resultado e deixe o cliente confirmar.

Rígido demaisrecusa "11 98765 4321"porque faltou o parêntesePostelaceita qualquer formato,confere se o conteúdo faz sentidoPermissivo demaisaceita um CPF comdígito verificador errado

O ponto certo fica no meio. Rigidez no formato perde clientes. Permissividade no conteúdo gera pedido com telefone que não existe, boleto para CPF errado e entrega no endereço errado.

O que o brasileiro digita, e o seu site precisa entender

  • Celular com ou sem parênteses, com ou sem hífen, com +55 na frente e até com o zero e o código de operadora de quem aprendeu a discar longa distância.
  • CPF e CNPJ com pontos, sem pontos, copiado de um PDF com espaços no meio.
  • CEP com ou sem hífen, e às vezes com um ponto: 01.310-100.
  • Valores com vírgula decimal e ponto de milhar, "R$ 1.234,56", e não no padrão americano.
  • Datas no formato dia, mês e ano, com barra, hífen ou ponto, e com ano de dois ou quatro dígitos.
  • Nomes com acento, cedilha, apóstrofo e quatro sobrenomes.
  • E-mails colados com um espaço no fim ou com letra maiúscula no começo, porque o teclado do celular corrigiu.

Nenhum desses é erro do cliente. São jeitos legítimos de escrever o mesmo dado. O site que trata isso como erro está, literalmente, recusando dinheiro.

Como aplicar a Lei de Postel em cinco passos

  • Limpe antes de validar. Remova espaços nas pontas, pontos, hífens, parênteses e barras. Valide só o que sobrou.
  • Normalize e mostre. Depois de entender, reformate no padrão oficial e exiba para o cliente: ele confere de bate-pronto.
  • Valide o significado, não o desenho. CPF tem dígito verificador. CEP pode ser consultado. Celular tem nove dígitos depois do DDD. Isso importa. Parêntese não importa.
  • Explique o erro real. "Faltou um dígito", "esse CEP não existe", "confira o dígito final do CPF". Nunca só "inválido".
  • Nunca apague o que foi digitado. Se der erro, mantenha o conteúdo no campo e destaque o problema.

Checklist: seu formulário entende o cliente?

Abra o seu formulário mais importante e tente preencher cada campo de três jeitos diferentes.

Aceitação

  • Telefone aceita qualquer pontuação e +55
  • CPF e CNPJ aceitos com ou sem pontuação
  • CEP aceito com ou sem hífen
  • Cartão aceita espaços
  • Nomes com acento, apóstrofo e nomes longos aceitos

Normalização

  • Espaços extras no início e no fim são removidos
  • E-mail convertido para minúsculas
  • Dado reformatado e exibido para conferência
  • Colar texto no campo funciona sem quebrar a máscara
  • Valores aceitam vírgula decimal

Erros

  • CPF validado pelo dígito verificador
  • Mensagens dizem exatamente o que está errado
  • O erro aparece junto do campo, não no topo da página
  • Nenhum campo é apagado quando há erro
  • Erro só aparece depois que o cliente sai do campo

Os erros mais caros, em ordem de frequência

  • Máscara que trava a digitação e impede colar o CPF ou o telefone copiado de outro lugar.
  • "Formato inválido" sem dizer qual é o formato válido, deixando o cliente adivinhar.
  • Checkout que limpa o formulário inteiro quando um único campo dá erro.
  • Campo de nome com limite de 30 caracteres num país em que nome completo com quatro sobrenomes é comum.
  • Erro em destaque aparecendo enquanto o cliente ainda está digitando, acusando de errado um dado que ele nem terminou.

Jon Postel escreveu a regra para máquinas conversarem com máquinas. Ela funciona ainda melhor entre máquinas e pessoas, porque pessoas não leem a especificação antes de digitar. O formulário que entende o cliente vende. O que exige que o cliente entenda o formulário perde a venda e ainda faz o cliente se sentir burro.

Ponto-chave

O seu formulário está recusando clientes? A Oneck testa formulários e checkouts com os formatos que o brasileiro realmente digita e corrige cada recusa desnecessária no caminho da conversão.

Este artigo faz parte da série Leis de UX. O anterior trata da Lei de Miller.

Fontes

Perguntas frequentes

O que é a Lei de Postel?

É o princípio da robustez, que Jon Postel escreveu em 1980 na RFC 760: uma implementação deve ser conservadora no que envia e liberal no que recebe. Em UX, a regra vira ser rigoroso no que o site mostra e generoso no que o site aceita.

Como aplicar a Lei de Postel num formulário?

Limpe o dado antes de validar, normalize e mostre o resultado ao cliente, valide o significado em vez do desenho, explique o erro real e nunca apague o que foi digitado.

Quais formatos um formulário brasileiro precisa aceitar?

Celular com ou sem parênteses e hífen e com +55 na frente, CPF e CNPJ com ou sem pontos, CEP com ou sem hífen, valores com vírgula decimal, datas em dia, mês e ano, e nomes com acento, cedilha e apóstrofo.

Ser tolerante significa aceitar qualquer dado?

Não. Em 2023, a RFC 9413 mostrou que tolerância em excesso faz os erros se acumularem. Em formulários, seja generoso com o formato e rigoroso com o conteúdo: aceite o telefone com ou sem espaço, mas não aceite um telefone com dez dígitos achando que o cliente quis dizer outra coisa.

Assuntos

  • e commerce
  • formulários
  • Lei de Postel
  • leis de UX
  • otimização de conversão
  • UX

Compartilhar

WhatsAppLinkedIn

Conversa

Comentários

Carregando comentários...