Using Fragments

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.
Note

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 FragmentObject Field Types
CAPTCHAN/A
CheckboxBoolean
DateDate
File UploadAttachment
Multi-select ListMultiple Picklist
Numeric InputInteger, Long Integer, Decimal, Precision Decimal
Rich TextRich Text
Select from ListRelationship, Picklist
Submit ButtonN/A
Text InputText, Long Text
Text AreaText, Long Text
Tip

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.

  1. Select a form fragment inside the Form Container.

  2. Click Swap Fragment (Swap Fragment icon) in the right-side menu.

    Alternatively, open the fragment’s Actions (Actions menu) menu and select Swap Fragment.

    Replace a form fragment using the Swap Fragment action.

  3. Locate and select a compatible fragment.

    Select a compatible fragment to replace the current one.

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.
Note

If the new fragment doesn’t support the mapped field type, Liferay clears the mapping and you must configure it again.