Referera till värden
Syntaxen ${fieldname} används för att referera till det aktuella värdet av ett annat fält i ditt formulär. Det kan representera värdet som angavs, valdes eller beräknades, och det visas exakt som det visas i de inlämnade data.
Exempel:
Om du har ett fält med namnet “age” och vill hämta det exakta värdet som angavs i det fältet kan du använda ${age}.
När det gäller begränsningar används symbolen “.” för att referera till användarens föreslagna post eller val för det aktuella fältet. Det låter dig tillämpa villkor eller gränser baserat på värdet som användaren anger eller väljer vid det tillfället.
Exempel:
Om du vill kontrollera om det föreslagna värdet för det aktuella fältet är mindre än 3 kan du använda begränsningen . < 3.
.. — Referens till överordnad grupp
Inne i en grupp eller upprepningsgrupp refererar .. till det överordnade sammanhanget. Detta behövs sällan i praktiken men används i avancerade XPath-uttryck för att navigera i formulärhierarkin.
Var referenser används
| Kolumn | Referenstyp | Exempel |
|---|---|---|
relevant | ${fieldname} | ${consent} = 'yes' |
constraint | . för aktuellt fält, ${fieldname} för andra | . > 0 and . <= ${max_value} |
calculation | ${fieldname} | ${adults} + ${children} |
required | ${fieldname} | ${has_income} = 'yes' |
default | ${fieldname} | ${previous_answer} |
label | ${fieldname} i text | "Din ålder är ${age} år" |
choice_filter | Kolumnnamn (utan ${}) | district = ${district} |
I kolumnen choice_filter, referera till alternativkolumnnamn direkt (utan ${}), och referera till formulärfält med ${}. Att blanda dessa är en vanlig felkälla.
Referera till värden inne i upprepningsgrupper
Inne i en upprepning refererar ${fieldname} till fältet i samma instans av upprepningen:
relevant: ${member_age} < 18
Detta använder member_age-värdet för den aktuella upprepningsinstansen, inte alla instanser.
För att referera till ett fält i en specifik upprepningsinstans utifrån upprepningen, använd indexed-repeat():
indexed-repeat(${member_name}, ${household_members}, 1)
Se Funktioner — Upprepade fältfunktioner för fullständiga detaljer.
Kontroller för tomt värde
Testa om ett fält har besvarats:
${fieldname} != '' (fältet är inte tomt)
${fieldname} = '' (fältet är tomt)
För tal, kontrollera även:
${age} > 0 (ålder har ett positivt värde — implicit inte tomt i numeriskt sammanhang)
Typomvandling i referenser
När du använder ${fieldname} i ett numeriskt sammanhang (t.ex. ${age} + 1) konverterar rtSurvey automatiskt strängvärdet till ett tal. Ett tomt fält konverteras till 0 eller NaN beroende på operationen — använd coalesce(${field}, 0) för att säkert sätta ett tomt numeriskt fält till noll.