- Labels
- Hints
- Help
- Error Msg
Templates can also be used in:
- Business Rules
- Form Actions
- Doc Actions
- Display Messages
- Email Action
- Form Url Parameters _data
Refer to the following chapters for related information:
- Integration
- Using Forms
- Url Template Variables for more details on these other uses.
On this page:
Templatized String Syntax
Templates have the syntax: {<control name>}. For example, this form contains three controls labeled "Apples", "Oranges" and "Pears". The controls are named "Q1", "Q2" and "Q3" respectively and would be referenced in a template as {Q1}, {Q2} and {Q3}.
Templates can have default values. The syntax is {<control name>=<default>} For example, this form also contains a controls labeled "Total Items in Cart" which is named "T". A template {T=0} would resolved to the value "0" when the field named T is empty otherwise it would resolve to the entered value.
The Shopping Cart section control contains templates for its Label, Hint and Help.
The Help property contains this text:
You have {T} items in your cart.<br/> {Q1=0} Apples<br/> {Q2=0} Oranges<br/> {Q3=0} Pears
Before the user starts entering values into this form they will see:
As a user begins entering values into the form fields, the templates will immediately begin appearing, and the user will see:
Templates support parameters. The syntax is {<control name>=<default value>!<parameter>}. The supported parameters are:
- encode={true/false} – If encode is false the template is not encoded after resolving it. The default is true
The encode template parameter is very useful when the template value is a URL. For example, if the template is {svchost}?name={svcps} and svchost has the value http://localhost:8080, it will get mangled by encoding. Instead use {svchostencode=false}?name={svcps} and it will not get mangled by encoding.
Repeat Controls
The template syntax is extended for controls inside repeats. The name of the repeating control must be proceeded with the '|' character. For example if you have a control name Phone inside a repeat, the template must be written as {|Phone}. The result of this template is to output the list of all phone numbers items entered into the form.
The syntax also allows for a optional separator. If you would like to get the list of phone number items separated by ", " (comma and space), use the following template: {, |Phone}. Other examples are {|Phone}, {,|Phone}, { |Phone}. The 1st template lists all the entered phone numbers with no separator. The 2nd uses a comma and the 3rd a space. If you used these three in a form's Doc Action Display Message and two phone numbers were entered 203.208.3117 and 203.208.3118 you would see this output for those three templates:
203.208.3117 203.208.3118 203.208.3117,203.208.3118 203.208.3117 203.208.3118
Another example is {<br/> |Names} for a control named Names inside a repeat you would see the output:
Joe Nancy James
Repeat Item Labels
It is very useful to use templates with repeat controls. Imagine a long list of medications that appear on the form in a collapsed state. It is helpful if the section labels are not simply a static text such as "Medication" but rather dynamic and indicative of the values entered into the form.