Using Form Fragments
Liferay DXP 2023.Q3+/Portal GA92+
Liferay includes form fragments for building forms in content pages. To build a form, add a form container to a content page or page template and map it to a published object. The container automatically populates fragments mapped to each object field. You can organize, remove, or add fragments manually. Once published, end users can create object entries using the form.
You can also create forms with multiple steps by adding form fragments to different sections and using navigation buttons to guide users through each step. See Using Fragments to Build Multi-Step Forms.
To build forms in content pages,
- Create a custom object.
- Add a Form Container fragment to a content page.
- Map the Form Container fragment to the custom object.
- Place form fragments only in a mapped form container.
- Map every form fragment in the form to an object field to prevent data loss.
- Include fragments in the form container for all mandatory object fields.
- Make mandatory form fragments visible.
- Include a visible submit button in the form container.
When mapping an object to a Form Container fragment, a Submit button is generated. You can map its text using mapping settings.
To create a button with link settings for redirection, add type="button" to the button fragment.
By default, Liferay includes the Form Components fragment set, but you can create your own. See Creating Form Fragments for more information.
In addition, form fragments can only be used with custom objects. Therefore, Liferay hides the Form Components fragment set until you have at least one published object. Once published, users with access to the object can view and use the Form Components fragments.
See Default Fragments Reference for a complete list of form fragments.
Supported Field Types for Form Components
Each form fragment can support one or more object field types. The default form components support these fields.
| Form Fragment | Object Field Types |
|---|---|
| CAPTCHA | N/A |
| Checkbox | Boolean |
| Date | Date |
| File Upload | Attachment |
| Multi-select List | Multiple Picklist |
| Numeric Input | Integer, Long Integer, Decimal, Precision Decimal |
| Rich Text | Rich Text |
| Select from List | Relationship, Picklist |
| Submit Button | N/A |
| Text Input | Text, Long Text |
| Text Area | Text, Long Text |
If categorization is enabled for the object, you can use the Tags and Categories form fragments to add metadata to object entries.
Swapping Form Fragments
Liferay 2026.Q1+
When building a form inside a Form Container, you can replace a fragment without losing its field mapping as long as the new fragment supports the same object field type as the original.
-
Select a form fragment inside the Form Container.
-
Click Swap Fragment (
) in the right-side menu.Alternatively, open the fragment’s Actions (
) menu and select Swap Fragment.
-
Locate and select a compatible fragment.

Fragment compatibility examples:
- Swap Multiselector Dropdown and Multiselector Checkbox when mapped to a multiselect picklist field.
- Swap Text Input and Text Area when mapped to a text field.
- Swap Numeric Input fragments when mapped to numeric fields.
If the new fragment doesn’t support the mapped field type, Liferay clears the mapping and you must configure it again.