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 — Cabeçalho da seção, Instruções, Quebra de página e Campo Oculto não mostram a seção Lógica condicional. 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.
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.