Using Form Fragments
Liferay 7.4 2023.Q3+/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.
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.