Skip to main content
Version: 10.0

Customize portal registration page

Level: intermediate

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

  1. Repeat steps 1-6. Instructions: Implement a non-visual module.

  2. Implement the page functionality.

    1. Use the "Registration" (Registration code) schema of the "Client module" type as an example, and reuse its structure: the view model columns, the onRegisterClick() and renderView() methods, and the init() or render() contract.

    2. Add the custom columns and page logic if needed. For example, client-side required checks, and custom validation messages.

    3. Align the payload that the page sends on registration to match the columns you added.

    4. 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:

      1. Keep the registration call pattern from the "Registration" (Registration code) schema of the "Client module" type in your custom schema.
      2. Continue to call the out-of-the-box Register endpoint 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" (Contact code) 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 Register endpoint payload

      To use a custom registration service:

      1. Create a custom web service that uses anonymous authentication. Use the "UserManagementService" (UserManagementService code) schema of the "Source code" type as an example.
      2. Call the new service from the custom page instead of the out-of-the-box Register endpoint.

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:

  1. Click btn_system_designer.png in the top right → System setupSystem settings.

  2. Open the "Portal registration module name" (PortalRegistrationModuleName code) system setting.

  3. Fill out the system setting parameters.

    Parameter

    Value

    Default value

    Enter code of the registration module that implements the custom portal registration page.

  4. 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" (Contact code) object, and enforces your custom server-side rules if you implemented a custom registration service

See also

Portal (user documentation)

"Client module" type schema