Referencia de valores
La sintaxis ${fieldname} se usa para referirse al valor actual de un campo diferente en su formulario. Puede representar el valor que se ingresó, seleccionó o calculó, y se mostrará exactamente como aparece en los datos enviados.
Ejemplo:
Si tiene un campo llamado “age” y desea recuperar el valor exacto ingresado en ese campo, puede usar ${age}.
En el caso de las restricciones, el símbolo “.” se usa para referirse a la entrada o selección propuesta por el usuario para el campo actual. Le permite aplicar condiciones o límites según el valor que el usuario está ingresando o seleccionando en ese momento.
Ejemplo:
Si desea verificar si el valor propuesto para el campo actual es menor que 3, puede usar la restricción . < 3.
.. — Referencia al grupo padre
Dentro de un grupo o grupo de repetición, .. hace referencia al contexto padre. Rara vez se necesita en la práctica, pero se usa en expresiones XPath avanzadas para navegar por la jerarquía del formulario.
Dónde se usan las referencias
| Columna | Tipo de referencia | Ejemplo |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . para el campo actual, ${fieldname} para otros | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} en texto | "Su edad es ${age} años" |
choice_filter | Nombre de columna (sin ${}) | district = ${district} |
En la columna choice_filter, referencie los nombres de columnas de opciones directamente (sin ${}), y referencie los campos del formulario con ${}. Confundir estos es una fuente común de errores.
Referencia a valores dentro de grupos de repetición
Dentro de una repetición, ${fieldname} hace referencia al campo en la misma instancia de la repetición:
relevant: ${member_age} < 18
Esto usa el valor member_age para la instancia de repetición actual, no todas las instancias.
Para referenciar un campo en una instancia de repetición específica desde fuera de la repetición, use indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Consulte Funciones — Funciones de campos repetidos para obtener detalles completos.
Verificaciones de valores vacíos
Pruebe si un campo ha sido respondido:
${fieldname} != '' (el campo no está vacío)
${fieldname} = '' (el campo está vacío)
Para números, también verifique:
${age} > 0 (la edad tiene un valor positivo — implícitamente no está vacío en contexto numérico)
Coerción de tipo en referencias
Cuando usa ${fieldname} en un contexto numérico (p. ej., ${age} + 1), rtSurvey convierte automáticamente el valor de cadena a número. Un campo vacío se convierte a 0 o NaN dependiendo de la operación — use coalesce(${field}, 0) para establecer de forma segura un campo numérico vacío a cero.