Form Fragment Component
Adaptive Forms offer a convenient way to create form segments, such as panels or groups of fields, so that they can be reused across different Adaptive Forms. These reusable and standalone segments are referred to as Adaptive Form fragments.
You can add a fragment multiple times to a document and use data binding properties of its components to tie it to different data sources or schema. For example, you can use the same address fragment for permanent, communication, and billing address and connect it to different fields of a data sources or schema.
You can also use the repeatability option to duplicate form fragment component and its child components, define a minimum and maximum repetition count, and facilitate the replication of similar sections within a form.
Usage
-
Reusability: Ability to reuse form fragments across multiple Adaptive Forms is the main advantage of using form fragments. It helps in maintaining consistency in design and functionality, as changes made to a fragment are reflected in all instances where it is used.
-
Consistent user experience: Using form fragments for common elements, for example headers or footers, ensures a consistent and cohesive user experience.
-
Easy maintenance: The changes or modifications done to a form fragment are reflected in all instances where it is used. It simplifies maintenance and reduces the chances of errors.
-
Efficiency: Designers and developers save time by building and testing form fragments only once. The form fragments can then be easily incorporated into multiple Adaptive Forms without the need for redundant work.
Version and Compatibility
The Adaptive Forms Fragment Core Component was released as part of the Core Components 2.0.50 for Cloud Service and Core Components 1.1.26 for AEM 6.5.16.0 Forms or later. Here’s a table showing all supported versions, AEM compatibility, and links to corresponding documentation:
release 2.0.50 and later
release 1.1.26 and later but less than 2.0.0.
For information on Core Component versions and releases, refer to the Core Components Versions document.
Technical Details
Get the latest information on the Adaptive Forms Fragment Core Component in the technical documentation on GitHub. For more on developing Core Components, check out the Core Components developer documentation.
Configure Dialog
You can easily customize your fragment experience for visitors with the Configure Dialog. You can also define fragment properties with ease for a seamless user experience.
Basic Tab
-
Name - You can identify a form component easily with its unique name both in the form and in the rule editor, but the name must not contain spaces or special characters.
-
Title - With its Title, you can easily identify a component in a form and by default, the title appears on top of the component. If you do not add a title, the name of the component is displayed instead of the title text.
-
Hide Title - Select the option to hide the component’s Title.
-
Group child components’ data on form submission(Wrap data in object) - When the option is selected, the data from its child components is nested within the parent component’s JSON object. However, if the option is not selected, the submitted JSON data has a flat structure, with no object for the parent component. For example:
-
When the option is selected, the data from the child components (for example, Street, City, and Zip Code) is nested within the parent component (Address) as a JSON object. This creates a hierarchical structure, and the data is organized under the parent component.
Structure of submitted data:
code language-json { "Address": { "Street": "123 Main Street", "City": "New York", "Zip Code": "12345" } }
-
When the option is not selected, the submitted JSON data has a flat structure with no object for the parent component (Address). All data is at the same level, without any hierarchical organization.
Structure of submitted data:
code language-json { "Street": "123 Main Street", "City": "New York", "Zip Code": "12345" }
-
-
Fragment Reference - A fragment reference is a reference to a form fragment that is stored in an external data source and used in a form. The fragment reference allows you to dynamically bind the form fragment to a form.
-
Bind Reference - A bind reference is a reference to a data element that is stored in an external data source and used in a form. The bind reference allows you to dynamically bind data to form fields, so that the form can display the most up-to-date data from the data source. For example, a bind reference can be used to display a customer’s name and address in a form, based on the customer’s ID entered into the form. The bind reference can also be used to update the data source with data entered into the form. In this way, AEM Forms enable you to create forms that interact with external data sources, providing a seamless user experience for collecting and managing data.
-
Hide Component - Select the option to hide the component from the form. The component remains accessible for other purposes, such as using it for calculations in the Rule Editor. This is useful when you need to store information that doesn’t need to be seen or directly changed by the user.
-
Disable Component - Select the option to disable the component. The disabled component is not active or editable by the end user. The user can see the value of the field but cannot modify it. The component remains accessible for other purposes, such as using it for calculations in the Rule Editor.
-
Read-only - Select the option to make the component non-editable. The user can see the value of the field but cannot modify it. The component remains accessible for other purposes, such as using it for calculations in the Rule Editor.
Repeat Fragment Tab
- Make fragment repeatable: A toggle feature that allows users to enable or disable the repeatability functionality.
- Minimum repetitions: Establishes the minimum number of times the fragment component can be repeated. A value of zero indicates that the fragment component is not repeated; the default value is zero.
- Maximum repetitions: Sets the maximum number of times the fragment component can be repeated. By default, this value is unlimited.
Help Content Tab
-
Short description - A short description is a brief text explanation that provides additional information or clarification about the purpose of a specific form field. It helps the user understand what type of data should be entered into the field and can provide guidelines or examples to help ensure that the information entered is valid and meets the desired criteria. By default, short descriptions remain hidden. Enable the Always show short description option to display it below the component.
-
Always show short description - Enable the option to display the Short description below the component.
-
Help text - Help text refers to additional information or guidance that is provided to the user to assist them in filling out a form field correctly. It appears when the user clicks the help icon (i) placed next to the component. Help text provides more detailed information than a form field’s label or placeholder text, and is designed to help the user understand the requirements or constraints of the field. It can also offer suggestions or examples to make filling out the form easier and more accurate.
Accessibility
- Text for screen readers - Text for screen readers refers to additional text that is specifically intended to be read by assistive technologies, such as screen readers, used by visually impaired individuals. This text provides an audio description of the form field’s purpose, and can include information about the field’s title, description, name, and any relevant messages (Custom text). The screen reader text helps ensure that the form is accessible to all users, including those with visual impairments, and provides them with a complete understanding of the form field and its requirements.
Design Dialog
Design Dialog is used to define and manage CSS styles for the form fragment component.
Styles Tab
The Adaptive Form Form Fragment Core Component supports the AEM Style System.
-
Default CSS Classes: You can provide a default CSS class for the Adaptive Form Form Fragment Core Component.
-
Allowed Styles: You can define styles by providing a name and the CSS class that represents the style. For example, you can create a style named “bold text” and provide the CSS class “font-weight: bold”. You can use or apply these styles to an Adaptive Form in Adaptive Forms editor. To apply a style, in Adaptive Forms editor, select the component you want to apply the style to, navigate to the properties dialog, and select the desired style from the Styles drop-down list. If you need to update or modify the styles, simply return to the Design Dialog, update the styles in the styles tab, and save the changes.
Custom Properties
Custom properties allow you to associate custom attributes (key-value pairs) to an Adaptive Form core component using the form template. The custom properties are reflected in the properties section of the headless rendition of the component. It allows creating dynamic form behavior that adapts based on the custom attributes values. For example, developers can design various renditions of a Headless Forms component for mobile, desktop, or web platforms, significantly enhancing the user experience across a wide array of devices.
-
Group Name: You can provide a name to identify the custom property group. You can add, delete, or rearrange multiple custom property groups. After adding the custom property group, you can see the following options:
-
Key-Value Pairs: You can add multiple custom property names and custom property values by clicking the Add button for each custom property group.
-
Delete: Tap or click to delete the custom property name and custom property value.
-
Rearrange: Tap or click and drag to rearrange the custom property name and custom property value.
-
Related Articles
- Accordion
- Button
- Check Box Group
- Checkbox
- Date Picker
- Drop-down list
- Email-input
- Form Container
- File Attachment
- Form Fragment
- Footer
- Header
- Image
- Number Input
- Panel Container
- Horizontal tab
- Vertical tab
- Radio Button
- Reset Button
- Submit Button
- Switch
- Telephone input
- Text Input
- Text
- Title
- Terms and Conditions tab
- Wizard
See Also
- Create an AEM Adaptive Form
- Add an AEM Adaptive Form to AEM Sites page
- Apply themes to an AEM Adaptive Form
- Add components to an AEM Adaptive Form
- Use reCAPTCHA in an AEM Adaptive Form
- Generate PDF version (DoR) of an AEM Adaptive Form
- Translate an AEM Adaptive Form
- Enable Adobe Analytics for an Adaptive Form to track form usage
- Connect Adaptive Form to Microsoft SharePoint
- Connect Adaptive Form to Microsoft Power Automate
- Connect Adaptive Form to Microsoft OneDrive
- Connect Adaptive Form to Microsoft Azure Blob Storage
- Connect Adaptive Form to Salesforce
- Use Adobe Sign in an AEM Adaptive Form
- Add a new locale for an Adaptive Form
- Send Adaptive Form data to a database
- Send Adaptive Form data to a REST endpoint
- Send Adaptive Form data to AEM Workflow
- Use Forms Portal to list AEM Adaptive Forms on an AEM website