Lógica Condicional / Regras de Mostrar-Ocultar
Disponível agora: A lógica condicional está ativa. Você pode mostrar, ocultar ou tornar um campo obrigatório com base nas respostas que os participantes dão a campos anteriores — diretamente no construtor de formulários, sem ajuda de desenvolvedor. Este artigo percorre a configuração e o que cada opção faz.
O Que a Lógica Condicional Faz
A lógica condicional permite mostrar, ocultar ou tornar um campo obrigatório com base nas respostas que os participantes dão a campos anteriores. Exemplos comuns:
- "Spouse's Name" aparece apenas se "Marital Status = Married".
- "Tell us about the food allergy" aparece apenas se "Has food allergies = Yes".
- Uma pergunta "Childcare Needs" aparece apenas quando "Bringing children = Yes".
- O campo de texto "Other (please specify)" aparece apenas quando o participante escolhe "Other" em um menu suspenso.
- "Allergy Details" torna-se obrigatório apenas quando "Has Allergies = Yes".
Isso permite construir formulários dinâmicos e ramificados sem dividir em vários formulários em vários formulários.
Como Configurar
A lógica condicional é configurada por campo, dentro do editor do campo.
- Abra seu formulário no construtor.
- Clique em um campo na tela para abrir o painel deslizante Edit Field.
- Role até a seção Conditional Logic.
- Ative o alternador Conditional Logic.
- Escolha uma Action e um modo Match, depois adicione uma ou mais regras (veja abaixo).
- Salve o formulário. As regras entram em vigor imediatamente no formulário público.

Escolha a Ação
O menu suspenso Action decide o que acontece quando as regras correspondem:
- Show this field — o campo fica oculto por padrão e aparece apenas quando as regras correspondem.
- Hide this field — o campo fica visível por padrão e desaparece quando as regras correspondem.
- Require this field — o campo permanece visível, mas torna-se obrigatório apenas quando as regras correspondem. (Além disso, um campo ainda pode ser obrigatório pela própria configuração "Required".)
Escolha o Modo de Correspondência
Quando você adiciona mais de uma regra, o menu suspenso Match decide como elas se combinam:
- All rules below (AND) — todas as regras devem ser verdadeiras para a ação ser executada.
- Any rule below (OR) — a ação é executada se pelo menos uma regra for verdadeira.
Adicione Regras
Clique em Add rule para adicionar uma condição. Cada regra tem três partes:
- Field — o campo anterior cuja resposta esta regra observa. O menu suspenso lista os outros campos do formulário.
- Operator — como comparar a resposta (consulte a tabela de operadores abaixo).
- Value — com o que comparar. Se o campo observado for Dropdown / Radio / Checkbox, isso vira um menu suspenso das opções desse campo; caso contrário, é uma caixa de texto livre. Para "is filled" e "is empty" nenhum valor é necessário.
Use o X vermelho em uma linha de regra para removê-la. Não há limite fixo no número de regras.
Dica: Para "is one of" / "is none of", digite os valores separados por vírgulas (por exemplo
a, b, c).
Operadores Suportados
| Operador | Corresponde quando o campo observado... |
|---|---|
| Equals | é exatamente igual ao valor |
| Does not equal | não é igual ao valor |
| Contains | contém o valor como texto |
| Does not contain | não contém o valor como texto |
| Begins with | começa com o valor |
| Ends with | termina com o valor |
| Greater than | é um número maior que o valor |
| Less than | é um número menor que o valor |
| Is filled | tem qualquer resposta informada |
| Is empty | não tem resposta |
| Before (date) | é uma data anterior ao valor |
| After (date) | é uma data posterior ao valor |
| Is one of (comma separated) | corresponde a qualquer valor na sua lista separada por vírgulas |
| Is none of (comma separated) | não corresponde a nenhum valor na sua lista |
Quais Campos Podem Usar Lógica Condicional
A lógica condicional está disponível em campos de entrada regulares. Ela não é oferecida em campos apenas de layout ou não interativos — Section / Heading, Instructions / Paragraph, Page Break e Hidden não mostram a seção Conditional Logic. Qualquer outro campo (texto, menu suspenso, rádio, caixa de seleção, data, número, upload de arquivo etc.) pode ser controlado por regras e também pode atuar como campo gatilho para as regras de outro campo.
Como Se Comporta no Formulário Público
As regras são avaliadas em dois lugares, para que a experiência seja fluida e os dados permaneçam limpos:
- Enquanto o participante digita ou seleciona — o formulário reavalia as regras ao vivo, então os campos aparecem, desaparecem e alternam entre obrigatório e opcional instantaneamente.
- Novamente no servidor quando o formulário é enviado — esta é a fonte da verdade. Um campo oculto nunca é validado, então um campo obrigatório condicionalmente oculto nunca bloqueará o envio. Um campo condicionalmente obrigatório é exigido apenas quando sua regra realmente corresponde.
Como campos ocultos são excluídos da validação, eles também são excluídos do envio salvo. Relatórios e exportações contêm apenas as respostas que o participante realmente viu e preencheu.
Dicas para Projetar Formulários Ramificados
Alguns padrões que combinam bem com lógica condicional:
Combine com Seções e Quebras de Página
Um campo de layout Section adiciona um título que divide o formulário em blocos legíveis, e um Page Break divide o formulário em páginas. Embora Sections e Page Breaks em si não tenham regras condicionais, você ainda pode controlar os campos individuais dentro deles com lógica para criar uma experiência guiada e ramificada.
Trate "Other (please specify)" de Forma Limpa
Quando um Dropdown / Radio tem uma opção "Other", adicione um campo de texto logo depois e dê a esse campo uma regra Show this field com o campo observado definido como seu campo de escolha e o valor definido como "Other". A caixa de texto então aparece apenas quando o participante escolhe "Other".
Exija Detalhes de Acompanhamento Apenas Quando Necessário
Deixe um campo de acompanhamento opcional por padrão e adicione uma regra Require this field para que seja obrigatório apenas na situação que exige isso (por exemplo, exigir "Allergy Details" apenas quando "Has Allergies = Yes"). Isso mantém o formulário curto para todos os demais.
Divida em Vários Formulários para Caminhos Radicalmente Diferentes
Quando dois caminhos em um formulário são completamente diferentes (por exemplo, "I am a member" vs "I am a visitor"), ainda pode ser mais limpo construir dois formulários separados e vincular esses formulários a partir de uma única página de destino. A lógica condicional lida bem com ramificações dentro de um formulário, mas fluxos muito divergentes às vezes são mais fáceis de manter como formulários separados.
Como as Regras São Armazenadas
Cada campo armazena suas regras em uma estrutura conditional_logic. Você normalmente nunca vê isso — o construtor grava para você — mas se exportar um formulário para JSON, fica assim:
{
"enabled": true,
"action": "show",
"match": "all",
"rules": [
{
"field": "marital_status",
"operator": "equals",
"value": "married"
}
]
}
Formulários exportados para JSON e reimportados mantêm suas regras condicionais intactas.
Artigos Relacionados
- Tipos de Campo de Formulário — a seção Conditional Logic lá cobre a mesma configuração sob a perspectiva dos tipos de campo.
- Criando um Formulário — noções básicas do construtor de formulários.
- Gerenciando Envios — onde aparecem as respostas que os participantes realmente preencheram.