Referenciar valores
A sintaxe ${fieldname} é usada para referir o valor atual de um campo diferente no seu formulário. Pode representar o valor que foi introduzido, selecionado ou calculado, e será exibido exatamente como aparece nos dados submetidos.
Exemplo:
Se tiver um campo chamado “age” e quiser recuperar o valor exato que foi introduzido nesse campo, pode usar ${age}.
Quando se trata de restrições, o símbolo “.” é usado para referir a entrada ou seleção proposta pelo utilizador para o campo atual. Permite-lhe aplicar condições ou limites baseados no valor que o utilizador está a introduzir ou selecionar nesse momento.
Exemplo:
Se quiser verificar se o valor proposto para o campo atual é menor que 3, pode usar a restrição . < 3.
.. — Referência ao grupo pai
Dentro de um grupo ou grupo de repetição, .. refere-se ao contexto pai. Isto raramente é necessário na prática, mas é usado em expressões XPath avançadas para navegar na hierarquia do formulário.
Onde as referências são usadas
| Coluna | Tipo de referência | Exemplo |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . para o campo atual, ${fieldname} para outros | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} em texto | "A sua idade é ${age} anos" |
choice_filter | Nome de coluna (sem ${}) | district = ${district} |
Na coluna choice_filter, referencie nomes de coluna de escolha diretamente (sem ${}), e referencie campos do formulário com ${}. Misturar estes é uma fonte comum de erros.
Referenciar valores dentro de grupos de repetição
Dentro de uma repetição, ${fieldname} refere-se ao campo na mesma instância da repetição:
relevant: ${member_age} < 18
Isto usa o valor member_age para a instância de repetição atual, não todas as instâncias.
Para referenciar um campo numa instância de repetição específica de fora da repetição, use indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Consulte Funções — Funções de campo repetido para detalhes completos.
Verificações de valor vazio
Teste se um campo foi respondido:
${fieldname} != '' (o campo não está vazio)
${fieldname} = '' (o campo está vazio)
Para números, também verifique:
${age} > 0 (a idade tem um valor positivo — implicitamente não vazio em contexto numérico)
Coerção de tipo em referências
Quando usa ${fieldname} num contexto numérico (por ex., ${age} + 1), o rtSurvey converte automaticamente o valor de cadeia de caracteres para um número. Um campo vazio é convertido para 0 ou NaN dependendo da operação — use coalesce(${field}, 0) para definir com segurança um campo numérico vazio como zero.