Hidden
Os campos hidden armazenam valores que nunca são mostrados ao respondente — usados para passar contexto, pré-preencher dados ou armazenar resultados intermédios.
Um campo hidden armazena um valor que nunca é exibido ao respondente. Ao contrário de calculate (que calcula um valor), hidden é usado para transportar um valor fornecido externamente — por exemplo, um ID de tarefa, um ID de agregado familiar passado de outro sistema, ou um código de enumerador injetado quando o formulário é lançado.
Especificação XLSForm Básica
| type | name | label |
|---|---|---|
| hidden | household_id |
As etiquetas não são necessárias para campos hidden pois nada é renderizado no ecrã.
Utilizações
Os campos hidden são comummente usados para:
- Passar um ID pré-atribuído do sistema de gestão de inquéritos (por ex., ID de agregado familiar, número de caso, código de tarefa)
- Armazenar a versão do formulário ou metadados de implementação
- Injetar configuração específica do enumerador no lançamento do formulário
- Transportar dados de um formulário pai para um formulário filho em fluxos de trabalho vinculados
- Armazenar um valor derivado de parâmetros de URL quando o formulário é aberto através de uma ligação web
Definir um valor padrão
O padrão mais comum é usar hidden com uma expressão default para que o valor seja definido quando o formulário abre:
| type | name | default |
|---|---|---|
| hidden | deployment_code | ‘ZONE_A_2024’ |
| hidden | form_version | ‘3.1’ |
Referenciar um campo hidden em cálculos
Os valores hidden podem ser referenciados como qualquer outro campo usando ${fieldname}:
| type | name | label | calculation |
|---|---|---|---|
| hidden | zone_code | ||
| calculate | label_prefix | concat(’[’, ${zone_code}, ‘] ‘) | |
| note | intro | ${label_prefix} Bem-vindo ao inquérito ao agregado familiar |
Usar hidden com pré-preenchimento / parâmetros de URL
Ao lançar um formulário web via URL, pode passar parâmetros que preenchem campos hidden. Isto permite pré-carregar um ID de agregado familiar ou código de tarefa sem o enumerador o digitar:
https://your-server.com/form/FORMID?household_id=H00123&zone_code=NORTH
O campo chamado household_id será automaticamente preenchido com H00123.
Melhores Práticas
- Use
hidden(nãocalculate) quando o valor é injetado externamente e não deve ser recalculado. - Use
calculatequando o valor é derivado de outros campos no formulário. - Defina sempre um
defaultse o campo hidden deve ter um valor — um campo hidden sem padrão ficará vazio. - Nomeie os campos hidden claramente para os distinguir (por ex., prefixe com
_hidden_ou use uma convenção de nomenclatura consistente).
Limitações
- Os campos hidden são incluídos nos dados exportados como qualquer outro campo.
- Não podem ser exibidos condicionalmente — estão sempre presentes (mas invisíveis).
- Se precisar de um campo que calcule dinamicamente, use
calculate.