Visão Geral
As variáveis no NueForm permitem criar experiências de formulário dinâmicas e personalizadas. Você pode referenciar respostas do respondente, parâmetros de URL e variáveis de formulário personalizadas em qualquer lugar dos títulos das perguntas, descrições, telas de boas-vindas e telas de agradecimento usando a sintaxe de substituição {variableName}.
Tipos de Variáveis
O NueForm suporta três tipos de variáveis:
1. Variáveis de Resposta
As variáveis de resposta capturam a resposta do respondente a uma pergunta específica e a disponibilizam para uso em perguntas posteriores.
Como configurar:
- Selecione uma pergunta no construtor de formulários.
- Nas configurações da pergunta, localize o campo Answer Variable.
- Insira um nome de variável (por exemplo,
name,company,rating). - A resposta do respondente a essa pergunta agora fica armazenada como
{name},{company}ou{rating}.
Exemplo:
- Pergunta 1: "Qual é o seu nome?" (Variável de resposta:
name) - Título da Pergunta 2: "Prazer em conhecer você, {name}! O que traz você aqui hoje?"
Quando o respondente digita "Sarah" na Pergunta 1, a Pergunta 2 exibirá: "Prazer em conhecer você, Sarah! O que traz você aqui hoje?"
Coerção de valores:
| Tipo de Resposta | Armazenada Como |
|---|---|
| Texto (string) | O valor de texto diretamente |
| Número | O valor numérico como string |
| Booleano (Sim/Não) | "true" ou "false" |
| Array (seleção múltipla) | Valores separados por vírgula (por exemplo, "Option A, Option B") |
| Objeto (informações de contato, endereço) | String JSON |
| Null/undefined | String vazia |
Respostas de escolha
Em uma pergunta de Múltipla escolha, Lista suspensa ou outra pergunta de escolha, a variável guarda o rótulo da opção escolhida, não o ID dela (várias opções ficam separadas por vírgula, como acima). Em um formulário traduzido, o rótulo fica no idioma em que o respondente está preenchendo o formulário, tanto no Estilo NueForm quanto no Estilo Questionário: se a pergunta oferece Gato e o respondente responde em inglês, a variável guarda Cat. Por isso, para agir sobre uma opção em um salto de lógica ou em uma condição de visibilidade, coloque a condição na própria pergunta (Qual animal? é Gato): ela compara a opção, seja qual for o idioma. Uma condição que compara a variável com um rótulo (animal é igual a Gato) deixa de funcionar para quem responde em outro idioma. Em uma lista carregada de uma variável, a variável guarda o rótulo do item do jeito que foi carregado — ele não é traduzido.
2. Variáveis de URL
As variáveis de URL são valores passados ao formulário por meio de parâmetros de consulta na URL. Elas ficam disponíveis imediatamente quando o formulário carrega, antes de qualquer pergunta ser respondida.
Como usar:
Anexe parâmetros de consulta à URL do seu formulário:
https://nueform.io/f/my-form?firstName=John&company=Acme&source=email
Você não precisa editar a URL manualmente. Abra o menu Share (na sua lista de formulários, no construtor de formulários ou no painel de um formulário), clique no ícone de controles deslizantes ao lado de qualquer opção e adicione nomes e valores de variáveis. Launch, Copy Link, Embed Code e QR Code geram o link com essas variáveis aplicadas, e elas são lembradas por formulário para a próxima vez.
Esses parâmetros ficam automaticamente disponíveis como variáveis:
{firstName}resolve para "John"{company}resolve para "Acme"{source}resolve para "email"
Casos de uso:
- Pré-preencher campos do formulário com dados conhecidos.
- Personalizar saudações: "Olá {firstName}, temos algumas perguntas para você."
- Rastrear fontes de indicação nos dados das suas respostas.
- Rotear respondentes usando saltos de lógica iniciais com base em parâmetros de URL.
As variáveis de URL também podem ser usadas em condições de saltos de lógica. Referencie-as prefixando o nome da variável com url: no campo de condição (por exemplo, url:source). As buscas de variáveis de URL suportam fallback sem diferenciação de maiúsculas e minúsculas, então ?FirstName=John corresponderá a uma condição em url:firstname.
3. Variáveis de Formulário
As variáveis de formulário são variáveis predefinidas com nome, tipo e valor padrão. Elas são definidas no nível do formulário e podem ser modificadas por ações de variável em saltos de lógica.
Como definir:
As variáveis de formulário são definidas nas definições de variáveis do formulário e têm as seguintes propriedades:
| Propriedade | Descrição |
|---|---|
| Nome | O nome da variável (por exemplo, score, category, is_qualified). |
| Tipo | number ou string. |
| Valor Padrão | O valor inicial quando o formulário carrega. |
Como são modificadas:
As variáveis de formulário são modificadas por meio de ações de variável em saltos de lógica. Quando a condição de um salto de lógica corresponde, suas ações de variável associadas são executadas:
| Ação | Descrição | Exemplo |
|---|---|---|
set | Substitui o valor da variável. | Definir category como "premium" |
add | Soma um número à variável. | Somar 10 a score |
subtract | Subtrai um número da variável. | Subtrair 5 de score |
Exemplo: Construindo uma calculadora de pontuação
- Defina uma variável de formulário:
score(tipo: number, padrão: 0). - Em cada pergunta, adicione saltos de lógica com ações de variável:
- Se Avaliação >= 4, somar 10 a
score. - Se Avaliação >= 2, somar 5 a
score.
- Se Avaliação >= 4, somar 10 a
- Na tela de agradecimento: "Sua pontuação é {score} de 50."
Sintaxe de Substituição
A sintaxe {variableName} funciona nos seguintes locais:
| Local | Suportado |
|---|---|
| Títulos das perguntas | Sim |
| Descrições das perguntas | Sim |
| Título da tela de boas-vindas | Sim |
| Descrição da tela de boas-vindas | Sim |
| Título da tela de agradecimento | Sim |
| Descrição da tela de agradecimento | Sim |
| Título do formulário | Sim |
| Descrição do formulário | Sim |
| Rótulos de opções | Não |
| Texto de botões | Não |
| Modelos de URL de QR Code | Sim |
Como a Substituição Funciona
- O sistema varre o texto em busca de padrões
{variableName}(chaves simples com caracteres de palavra dentro). - Ele procura o nome da variável no mapa de variáveis atual.
- Se encontrado, o token é substituído pelo valor da variável.
- Se não encontrado, o token é substituído por uma string vazia.
No conteúdo de uma pergunta do tipo Markdown ou Contrato — o corpo em Markdown ou o documento do contrato —, as tags HTML no valor de uma variável (vindo, por exemplo, de um parâmetro de URL ou da resposta de uma API) não são renderizadas: elas aparecem exatamente como foram escritas, então <b>Hi</b> aparece como <b>Hi</b>, e não em negrito. O Markdown de um valor, como **bold** ou [a link](https://example.com), continua sendo aplicado ali. A exceção é a sintaxe que precisa de <, > ou aspas, como uma citação com > ou o título de um link entre aspas: ela também aparece exatamente como foi escrita. O título e a descrição da pergunta funcionam de outro jeito: ali uma lista curta de tags de formatação de um valor, como <strong>, <em>, <u>, <s>, <a href> e <span style>, é renderizada, qualquer outra tag é removida (<b>Hi</b> aparece só como “Hi”, sem formatação) e o Markdown não é aplicado.
O HTML que você mesmo digita nesse conteúdo também é limitado: só as tags de formatação que o título de uma pergunta permite são mantidas. Veja HTML no Markdown.
Os nomes de variáveis usam chaves simples {name}. Não confunda com a sintaxe de campos inline de Markdown, que usa chaves duplas {{type:label}}. As duas sintaxes são intencionalmente diferentes e não entram em conflito.
Detecção de Variáveis
O NueForm detecta automaticamente todas as variáveis referenciadas no seu formulário varrendo:
- Tokens
{variableName}em todos os campos de texto (títulos, descrições, telas de boas-vindas/agradecimento). - Campos com prefixo
url:em condições de saltos de lógica. - Nomes de variáveis em ações de saltos de lógica.
- Declarações de
answerVariablenas perguntas. - Definições de variáveis no nível do formulário.
Essa varredura abrangente produz uma lista ordenada e sem duplicatas de todos os nomes de variáveis usados no seu formulário.
Ordem de Resolução de Variáveis
Ao resolver um token {variableName}, o NueForm verifica as variáveis nesta ordem:
- Variáveis de URL -- passadas pela URL do formulário.
- Variáveis de resposta -- definidas pelas respostas do respondente a perguntas com
answerVariableconfigurado. - Variáveis de formulário -- definidas no nível do formulário e modificadas por ações de saltos de lógica.
Se o mesmo nome de variável existir em várias fontes, as variáveis de URL têm precedência (já que elas são a fonte passada à função de substituição, com as variáveis de formulário/resposta mescladas em seguida).
Respostas de nós de dados como listas de opções
Um nó de dados armazena a resposta da API dele na variável indicada na configuração Variável de resposta. Além de usá-la em textos, você pode transformá-la na lista de uma pergunta de escolha: defina a Origem das opções de uma pergunta de Múltipla Escolha, Menu Suspenso ou Classificação — ou a Origem das linhas ou a Origem das colunas de uma Matriz — como De uma variável e digite a variável:
{breeds}quando a própria resposta é a lista, como["Siamese", "Persian"].{breeds.data}quando a lista está dentro da resposta, como{"data": [...]}. Use pontos para chaves aninhadas, ou{breeds["the list"]}para uma chave que não é uma palavra simples.
Veja Opções de uma variável para os formatos aceitos e o mapeamento dos campos de rótulo e valor. Essas configurações de origem só aparecem em perguntas colocadas diretamente no formulário, e não dentro de um Grupo de perguntas, de uma Página com várias perguntas ou de um composite.
Um nó de dados guarda os primeiros 4.096 caracteres da resposta. Uma lista cujo JSON seja maior chega cortada, e a pergunta mostra Não foi possível carregar estas opções. no lugar das opções. Faça sua API retornar menos itens, ou só os campos de que você precisa.
Exemplos
Boas-vindas Personalizadas
URL: https://nueform.io/f/feedback?name=Sarah&product=Widget
Título de boas-vindas: "Olá {name}!" Descrição de boas-vindas: "Adoraríamos ouvir sua opinião sobre {product}."
Resultado: "Olá Sarah!" / "Adoraríamos ouvir sua opinião sobre Widget."
Perguntas de Acompanhamento Dinâmicas
Pergunta 1: "Qual é a sua função?" (Variável de resposta: role) Pergunta 2: "Como {role}, qual é o seu maior desafio?"
Exibição de Pontuação Calculada
Variável de formulário: score (number, padrão: 0) Ações de saltos de lógica: Somar pontos com base nas respostas Descrição da tela de agradecimento: "Você marcou {score} pontos! Obrigado por concluir o quiz."
Roteamento Condicional com Variáveis de URL
URL: https://nueform.io/f/survey?plan=enterprise
Salto de lógica inicial:
- Condição:
url:planigual a"enterprise" - Destino: Saltar para perguntas específicas do Enterprise
- Ação: Definir
plan_namecomo"Enterprise"
Boas Práticas
- Use nomes descritivos: Escolha nomes de variáveis que indiquem claramente o que armazenam (por exemplo,
customer_nameem vez den). - Defina padrões: Para variáveis de formulário, sempre forneça um valor padrão significativo para o caso de a variável nunca ser modificada.
- Teste com parâmetros de URL: Ao usar variáveis de URL, teste seu formulário com várias combinações de parâmetros para garantir que todos os caminhos funcionem corretamente.
- Trate variáveis ausentes com elegância: Se uma variável de URL pode não ser fornecida, redija seu texto de forma que continue natural mesmo quando a variável resolver para uma string vazia.