Visão Geral
Os saltos de lógica permitem criar formulários dinâmicos que se adaptam com base nas respostas dos respondentes. Em vez de mostrar todas as perguntas em ordem, você pode pular perguntas, saltar para seções diferentes ou direcionar os respondentes a telas finais específicas com base em suas respostas.

Como Funcionam os Saltos de Lógica
Cada pergunta pode ter um ou mais saltos de lógica anexados a ela. Depois que um respondente responde a uma pergunta, o NueForm avalia os saltos de lógica em ordem. O primeiro salto cuja condição for avaliada como true determina para onde o respondente vai em seguida. Se nenhuma condição corresponder, o formulário avança para a próxima pergunta na ordem.
Fluxo Básico
- O respondente responde a uma pergunta.
- O NueForm verifica cada salto de lógica dessa pergunta, em ordem.
- O destino do primeiro salto correspondente determina a próxima pergunta.
- Se nenhum salto corresponder, o respondente segue para a próxima pergunta na sequência.
Condições
Condições Simples (Legado)
Uma condição simples consiste em três partes:
- Campo: Qual pergunta ou variável avaliar.
- Operador: Como comparar o valor.
- Valor: O valor com o qual comparar (não necessário para
is_answered/is_not_answered).
Condições Compostas
As condições compostas permitem combinar várias regras com lógica E/OU:
- Combinador:
and(todas as regras devem corresponder) ouor(qualquer regra deve corresponder). - Regras: Um array de regras de condição individuais.
As condições compostas têm precedência sobre as condições simples legadas se ambas estiverem presentes no mesmo salto de lógica.
Operadores
O NueForm fornece 10 operadores de condição. Os operadores disponíveis dependem do tipo de pergunta que está sendo avaliada.
Todos os Operadores
| Operador | Símbolo | Descrição |
|---|---|---|
equals | = | A resposta é exatamente igual ao valor. |
not_equals | != | A resposta não é igual ao valor. |
contains | Contém | A resposta contém o valor (texto) ou inclui o valor (array). |
not_contains | Não contém | A resposta não contém o valor. |
greater_than | > | A resposta numérica é maior que o valor. |
less_than | < | A resposta numérica é menor que o valor. |
greater_than_or_equals | >= | A resposta numérica é maior ou igual ao valor. |
less_than_or_equals | <= | A resposta numérica é menor ou igual ao valor. |
is_answered | Respondida | A pergunta foi respondida (qualquer valor não vazio). |
is_not_answered | Não respondida | A pergunta não foi respondida. |
Operadores por Tipo de Pergunta
| Tipo de Pergunta | Operadores Disponíveis |
|---|---|
| Texto Curto, Texto Longo, E-mail, Telefone, URL/Site | equals, not_equals, contains, not_contains, is_answered, is_not_answered |
| Número, Avaliação, Escala de Opinião, NPS | equals, not_equals, greater_than, less_than, greater_than_or_equals, less_than_or_equals, is_answered, is_not_answered |
| Múltipla Escolha, Menu Suspenso, Escolha por Imagem, Classificação | equals, not_equals, is_answered, is_not_answered |
| Sim/Não, Jurídico | equals, not_equals, is_answered, is_not_answered |
| Data | equals, not_equals, is_answered, is_not_answered |
| Variáveis de URL | Todos os operadores (equals, not_equals, contains, not_contains, greater_than, less_than, greater_than_or_equals, less_than_or_equals, is_answered, is_not_answered) |
| Todos os outros tipos | equals, not_equals, is_answered, is_not_answered |
Coerção de Tipos
O NueForm lida com incompatibilidades de tipo automaticamente:
- A string
"3"é igual ao número3ao usar o operadorequals. - O booleano
truecorresponde à string"true". - Para
containscom respostas em array (seleção múltipla), verifica se algum item selecionado corresponde. - Para
equalscom respostas em array, verifica se o valor está entre os itens selecionados.
Destinos
Cada salto de lógica especifica um destino -- para onde o respondente deve ir quando a condição corresponder.
| Destino | Descrição |
|---|---|
| ID da Pergunta | Salta para uma pergunta específica pelo seu ID. A pergunta pode estar em qualquer lugar do formulário, inclusive em perguntas anteriores (criando loops). |
end | Pula diretamente para o final do formulário (tela de agradecimento ou envio). |
Ações de Variável
Os saltos de lógica podem incluir ações de variável que modificam variáveis do formulário quando a condição do salto corresponde. Isso permite criar calculadoras, sistemas de pontuação e conteúdo dinâmico sem o modo quiz.
Tipos de Ação
| Ação | Descrição |
|---|---|
set | Define a variável com um valor específico. |
add | Soma um valor numérico à variável. |
subtract | Subtrai um valor numérico da variável. |
Como Funcionam as Ações de Variável
- Uma condição de salto de lógica é avaliada como
true. - Antes de navegar até o destino, o NueForm executa todas as ações de variável desse salto.
- Os valores das variáveis são atualizados no estado de variáveis do formulário.
- As perguntas subsequentes podem referenciar essas variáveis usando a sintaxe
{variableName}.
Exemplo: Acumulando uma pontuação
Question: "How satisfied are you?" (Rating 1-5)
Logic Jump 1: Rating >= 4 -> Next question, Action: add 10 to "score"
Logic Jump 2: Rating >= 2 -> Next question, Action: add 5 to "score"
Logic Jump 3: (default) -> Next question, Action: add 0 to "score"
Veja o guia de Variáveis para saber mais sobre como definir e usar variáveis.
Rótulos
Cada salto de lógica pode ter um rótulo opcional para fins de documentação. Os rótulos aparecem no editor visual de fluxo de trabalho para ajudar você a entender o fluxo da lógica rapidamente.
Saltos de Lógica Iniciais
Os saltos de lógica iniciais são avaliados antes de o respondente ver qualquer pergunta. Eles são executados imediatamente quando o formulário carrega e podem usar variáveis de URL para determinar a pergunta inicial.
Casos de Uso
- Direcionar os respondentes a seções diferentes com base em parâmetros de URL (por exemplo,
?department=salespula para as perguntas específicas de vendas). - Predefinir variáveis com base em parâmetros de URL antes de o formulário começar.
- Pular a tela de boas-vindas para certos públicos.
Configuração
Os saltos de lógica iniciais são configurados no nível do formulário (não em perguntas individuais). Eles seguem a mesma estrutura de condição/destino/ação dos saltos de lógica em nível de pergunta, mas seus campos de condição só podem referenciar variáveis de URL (com o prefixo url:).
Exemplo: Direcionamento por departamento
Start Logic Jump:
Condition: url:department equals "sales"
Destination: question_sales_intro
Actions: set "department" to "Sales"
Condições com Variáveis de URL
Tanto nos saltos de lógica em nível de pergunta quanto nos iniciais, você pode referenciar parâmetros de URL como campos de condição. Os campos de variável de URL usam o prefixo url::
- Campo:
url:firstNameavalia o parâmetro de URL?firstName=... - Campo:
url:sourceavalia o parâmetro de URL?source=...
As buscas de variáveis de URL suportam fallback sem diferenciação de maiúsculas e minúsculas. Se a chave exata não for encontrada, o NueForm tentará uma correspondência sem diferenciar maiúsculas de minúsculas.
Editor de Fluxo de Trabalho
O NueForm inclui um Editor de Fluxo de Trabalho visual que exibe a lógica do seu formulário como um fluxograma. Cada pergunta é um nó, e os saltos de lógica são exibidos como arestas conectando os nós. O editor de fluxo de trabalho mostra:
- Todas as perguntas como nós em sua ordem sequencial.
- As conexões de saltos de lógica como setas entre os nós.
- Resumos das condições em cada aresta (por exemplo, "Avaliação > 3").
- Rótulos de destino (título da pergunta ou "Fim").
O editor de fluxo de trabalho é uma representação visual dos seus saltos de lógica. Você pode adicionar, editar e remover saltos de lógica diretamente no editor ou no painel de configurações da pergunta.
Avaliação de Saltos de Lógica em Grupos
Quando uma pergunta está dentro de um Grupo de Perguntas, os saltos de lógica em subperguntas funcionam de forma ligeiramente diferente:
- Se o destino for outra subpergunta dentro do mesmo grupo, a navegação acontece internamente dentro do grupo.
- Se o destino for uma pergunta fora do grupo, o grupo é encerrado e o formulário navega até a pergunta de destino no nível superior.
- Se o destino for
end, o formulário pula para o envio.
Boas Práticas
- A ordem importa: Os saltos de lógica são avaliados de cima para baixo. Coloque as condições mais específicas antes das mais gerais.
- Sempre tenha um fallback: Se nenhuma das suas condições corresponder, o formulário avança para a próxima pergunta. Considere adicionar um salto genérico no final se quiser controle explícito.
- Teste com cuidado: Use a função de pré-visualização para testar diferentes caminhos de resposta pelo seu formulário.
- Use rótulos: Dê aos seus saltos de lógica rótulos descritivos para que o editor de fluxo de trabalho seja fácil de entender.
- Mantenha simples: Lógicas aninhadas complexas podem ser confusas. Considere usar Grupos de Perguntas para organizar perguntas relacionadas com sua própria lógica interna.