Customize portal registration page
The out-of-the-box portal registration page covers the most common business needs. Learn more: Portal (user documentation). Creatio lets you customize the portal registration page based on your business needs, for example, add custom fields, apply validation against your business data, or control the registration flow.
The table below lists common business goals for customizing the portal registration page.
Business goal | Description |
|---|---|
Collect additional data | Capture fields that are not on the out-of-the-box page, such as Contract ID, Fax number, or Company code. |
Validate input against business data | Check user input against data stored in Creatio. For example, verify that an entered contract ID exists in a lookup before the user can register. |
Control the registration flow | Permit or block registration based on custom rules. For example, reject registration when a value fails a server-side check. |
Change the page layout or appearance | Rebrand the page, rename or regroup fields, or add additional text description. |
Enforce stricter input rules | Add client-side validation. For example, require a corporate email domain or a specific phone number format. |
To customize the portal registration page, complete the following steps.
1. Create the custom registration page schema
-
Repeat steps 1-6. Instructions: Implement a non-visual module.
-
Implement the page functionality.
-
Use the "Registration" (
Registrationcode) schema of the "Client module" type as an example, and reuse its structure: the view modelcolumns, theonRegisterClick()andrenderView()methods, and theinit()orrender()contract. -
Add the custom columns and page logic if needed. For example, client-side required checks, and custom validation messages.
-
Align the payload that the page sends on registration to match the columns you added.
-
Select the registration service.
Use the existing registration service
Use this way when only the page layout or client-side validation changes, and no additional fields must be persisted.
To use the existing registration service:
- Keep the registration call pattern from the "Registration" (
Registrationcode) schema of the "Client module" type in your custom schema. - Continue to call the out-of-the-box
Registerendpoint from the custom page.
Use a custom registration service
Use this way when one of the following page changes applies:
- additional fields must be saved to the "Contact" (
Contactcode) object - validation must check business data such as a lookup
- registration must be blocked by custom server rules
- the request payload differs from the out-of-the-box
Registerendpoint payload
To use a custom registration service:
- Create a custom web service that uses anonymous authentication. Use the "UserManagementService" (
UserManagementServicecode) schema of the "Source code" type as an example. - Call the new service from the custom page instead of the out-of-the-box
Registerendpoint.
- Keep the registration call pattern from the "Registration" (
-
2. Select the registration module
Creatio resolves which page to use based on the "Portal registration module name" (PortalRegistrationModuleName code) system setting. Out of the box, the value is set to "Registration."
To select the registration module:
-
Click
in the top right → System setup → System settings. -
Open the "Portal registration module name" (
PortalRegistrationModuleNamecode) system setting. -
Fill out the system setting parameters.
Parameter
Value
Default value
Enter code of the registration module that implements the custom portal registration page.
-
Click Save.
As a result:
- the "Register" action on the portal opens your custom page instead of the out-of-the-box page
- the custom page includes added fields and applies validation rules
- the custom page maps and saves the additional data to the "Contact" (
Contactcode) object, and enforces your custom server-side rules if you implemented a custom registration service
See also
Portal (user documentation)