Subform

The Subform component adds an entire, pre-defined form template as a section in your main form. Use this component to achieve reusability of common form sections, manage complex forms by breaking them down into modular and manageable parts, or create repeating sections, such as one to allow users to add multiple contacts, each with the same set of fields. It inherently includes all components and logic defined in the embedded subform template.

Use the Form reference attribute to include an existing form in the subform component. You can use the subform as a collection of components. You can also bind it to another component by selecting the Store subform data in single variable attribute and providing the variable that stores the values from the linked component.

Outcome buttons are not available in subforms.

General properties

Property Description
ID The identifier of the component, primarily used for client-side interactions and identification in the HTML structure of the form. When you add a component, an ID is automatically generated to ensure it is unique in the form.
Label Text that appears above the form component in Collibra, briefly describing its purpose. This is the main title or question for the field.
Label tooltip

Additional help or information about the field. If defined, a question mark icon appears after the label, showing the tooltip when users hover their pointer over the icon.

The tooltip supports plain text only.

Documentation A text field for internal design notes or future reference about this specific component. This information is not visible in Collibra.
Store subform data in single variable

This property controls how the data from the fields in this subform is stored and whether users can add multiple instances of the subform at runtime.

  • Not set: The values from the fields inside the subform are stored directly as individual variables in the scope of the parent form. For example, if a field in the subform has the value set as {{projectName}}, its value is stored in the projectName variable in the parent form. In this mode, you can only add a single instance of this subform.
  • Set: All data from the fields inside the subform are collected and stored as a single LinkedHashMap variable. You must provide the name of a variable for the subform component itself. For example, if the subform variable is {{mySubformData}} and the subform contains fields that store their data in a {{firstName}} and a {{lastName}} variable, the submitted data is stored as mySubformData.firstName and mySubformData.lastName in the single mySubformData variable:
    "mySubformData": {
      "firstName": "...",
      "lastName": "..."
    }
    When set, you can enable the option to create multiple instances of the subform at runtime. If multiple instances are created, the mySubformData variable becomes a list of maps, with each object representing one subform instance:
    "mySubformData": [
      {
        "firstName": "...",
        "lastName": "..."
      },
      {
        "firstName": "...",
        "lastName": "..."
      }
    ]
Form reference A reference to the form to be used as a subform.

Form properties

Property Description
Show border Whether the subform has a visual border around it in Collibra.
Collapsible Whether users can collapse or expand the component in Collibra.

Enabling this option adds a + / - icon in the upper-right corner of the subform, allowing users to toggle its visibility.

Initially collapsed Whether the component is shown in a collapsed state when the form initially loads in Collibra.
Multiple elements Whether users can add multiple instances of the subform fields. This property is applicable when the subform is configured to Store subform data in single variable.
Show add button Shows and Add button in the subform to add new instances of subform items. This property is only applicable when Store subform data in single variable and Multiple elements are enabled.
Add button text A custom label for the button that adds subform items. This property is only applicable when Show add button is enabled.
Show remove button Shows a trash can icon to delete individual instances of subform items. This property is only applicable when Multiple elements is enabled.
Instance unique key (expression) Currently not in use.
Show no items message Shows the message No items yet, please click ADD to create one in the subform area when it is empty. This property is only applicable when Multiple elements is enabled.
No items message A custom message to show when the subform is empty. This property is only applicable when Show no items message is enabled.

Validation properties

Attribute Description
Minimum elements The minimum number of items to be selected.
Maximum elements The maximum number of items that can be selected.
Custom validations A list of additional validations for the component. Each custom validation consists of two parts:
  • Expression: A rule that must evaluate to true for the form to be submitted.
  • Error message: The message that shows if the expression evaluates to false.

For example, you can create a validation with the expression {{experience>2}}. This expression evaluates to true only if the value of the experience variable is greater than 2.

Validation messages

Attribute Description
Minimum elements The error message that shows if the number of selected items is less than the required minimum number of elements.
Maximum elements The error message that shows if the number of selected items is greater than the allowed maximum number of elements.

Rendering properties

Property Description
Ignored Whether the component is be hidden in the form and any value it might hold is not included in the submission data.
Visible Whether the component is shown or hidden on the form. You can controlled this unconditionally or through an expression. For example, you can set an expression that hides or shows the component based on a user selection in another component. This property is enabled by default.
Enabled Whether the component is interactive or read-only on the form. When disabled, users cannot change the component value. This property is enabled by default.