Prevalue sources are a way to pre-define and/or retrieve a list of items from a certain source. They can be added in any field types that include some kind of list like Dropdown and Multiple/Single Choice lists.
Prevalue sources can be managed in the Prevalue sources folder available in the Forms section.
To set a prevalue source:
Navigate to the Forms section.
Right-click the Prevalue sources folder and select Create.
A new page opens in the right-side of the editor where you'll need to setup and configure your prevalue source.
Enter a Name.
Select the type of prevalue source from the Type drop-down. For more information on the different default types, see the Overview of the Prevalue Source Types article.
Depending on the Type you choose, you'll need to provide some additional settings:
Now, provide a file containing the list to use as prevalues. For example: A .txt
file containing the following values:
Select Pick File and choose the text file you created.
Once the text file is uploaded, click Save to save the prevalue source.
If the file is successfully uploaded and validated, you will see an overview of the values in a tabular format.
If you would like to have different values presented to your users from the value stored, you can provide two values per line, separated with a vertical bar (|), e.g.:
In this case the user would pick from a list showing the captions, but the single integer values would be stored with the record.
This can be useful if the recorded entries are used in any subsequent workflows or business processes, where particular values, that aren't appropriate for the user to select from, are required.
Sometimes retrieving the list of options for a prevalue source can be an expensive operation. If the source depends on data from external systems, it could be that the list changes regularly or rarely.
Given the variation here, we allow you to select an appropriate level of caching for the list of options.
You can choose between:
No Caching
- no caching will be applied and the list of options will be retrieved from source on every request. You will likely only want to choose this option if the information changes frequently and it's important that the latest is presented to website visitors.
Cache For Specified Time
- the list will be cached for the period of time provided.
Cache With No Expiry
- the list will be cached on first request and not retrieved again until either the prevalue source is edited or the website is restarted. This is most appropriate to use for information held within the prevalue source data itself (such as when uploading a text file).
Once a prevalue source has been created, it can be used while building Forms in the Forms designer.
Example: Let's add a Multiple Choice field type in our Form.
If there is at least one prevalue source defined in the project, the Prevalues source will contain a dropdown from where you can choose the predefined value.
Once you have selected the prevalue source, the values are rendered in the Forms designer from the attached source.
In this walk-through, we will select Get values from textfile from the Type drop-down.
There are some default prevalue source types that can be used.
Here is a quick overview of them:
Get values from textfile
Upload a textfile that contains the prevalues. Each prevalue should have its own line in the file. Once the file has been uploaded, you can find it in ~/wwwroot/App_Data/UmbracoForms/Data/PreValueTextFiles/{GUID}
where the {GUID}
is replaced with the pre-value ID.
Umbraco Documents
Allows to use content nodes from a specific source as prevalues. You can define the root node by either
Choosing a node directly from the Content tree or
Using XPath
Additional settings can be applied:
Select Use current page as root instead of choosing a specific root node. The preview is not available when this setting is enabled.
Select a specific Document type, if the selected root node contains a different Document Type.
Select to include Grand children of the selected root node.
SQL Database
Connect to a OleDB compatible database table and construct a prevalue source from it. Once selected, it will be editable from the Forms interface.
The following configurations need to be set:
Connection string (either choose one from your web.config or add another from a textfield)
Connection String from configuration
Table Name
Key Column
Value Column
Umbraco Data Type Prevalues
Choose an Umbraco Data Type to use its configured prevalue collection.
In the example below, the prevalue collection from a Data Type called Home - Font - Radio button
is used: