---
title: Using the Registration form and Custom registration form web parts
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

You can allow visitors to register on your site using the following [web parts](https://docs.kentico.com/k11/developing-websites/developing-websites-using-the-portal-engine/using-and-configuring-web-parts.md):

- [Registration form](#using-the-registration-form-web-part)
- [Custom registration form](#using-the-custom-registration-form-web-part)

## Using the Registration form web part

The **Registration form** provides a basic ready-made registration form. You can place the web part onto any page without setting any properties. Adjust the properties if you want to modify the default behavior of the registration form.

![Output of the registration form web part](https://docs.kentico.com/docsassets/k11/using-the-registration-form-and-custom-registration-form-web-parts/image.png "Output of the registration form web part")

The password field in the form supports validation according to the password policy specified for the website and also calculates and displays the relative strength of the currently entered password. To learn more about the security options, see the [Password strength policy](https://docs.kentico.com/k11/securing-websites/designing-secure-websites/securing-user-accounts-and-passwords/password-strength-policy-and-its-enforcement.md) page.

## Using the Custom registration form web part

Use the **Custom registration form** for situations where you want a different registration form than the one provided by the **Registration form** web part. For example when you want users to provide different information during registration or if you wish to customize the form's layout.

The following example demonstrates how to add a custom registration form to your site. You need to prepare the custom registration form as an [alternative form](https://docs.kentico.com/k11/configuring-kentico/creating-alternative-forms.md) for user objects.

### Creating an alternative form for the User system object

1. Open the **Modules** application.
2. Edit () the **Membership** module.
3. Open the **Classes** tab.
4. Edit () the **User** (cms.user) class.
5. Switch to the **Alternative forms** tab.
6. Click **Create new form** above the list.
7. Fill in the following details:
   - **Display name**: My registration form
   - **Make new fields hidden**: yes (checked) - ensures that the alternative does not display new fields added to the object by default.
   - **Combine with user settings**: yes (checked) - ensures that the form contains all data fields related to users, including user settings.
8. Click **Save**.

The system creates the alternative form and opens the form's editing interface.

### Defining the form fields and layout

1. Switch to the **Fields** tab of the alternative form's editing interface.

   - Here you can see the fields (database columns) that the system stores for User objects.
2. Select the **UserName** field in the list on the left, and select the **Display field in the editing form** check box.
3. Click **Save** to confirm the change.
4. Repeat the same for the following fields:

   - **FirstName**
   - **Email**
   - **UserPassword**
5. For the **UserPassword** field, choose the _Password with confirmation_ option in the **Form control** selector.
6. Go through the remaining fields and uncheck **Display field in the editing form**.

![Editing user fields for an alternative form](https://docs.kentico.com/docsassets/k11/using-the-registration-form-and-custom-registration-form-web-parts/User_Form_Fields.png "Editing user fields for an alternative form")

### Adjusting the form layout

To define the registration form's layout:

1. Switch to the **Layout** tab of the alternative form editing interface.
2. Select **Use custom form layout**.
3. Click **Generate default layout**. A default table layout appears in the editor. You can adjust the layout according to your requirements.
4. Click **Save** when you are finished.

![Editing the layout of an alternative form](https://docs.kentico.com/docsassets/k11/using-the-registration-form-and-custom-registration-form-web-parts/User_Form_Layout.png "Editing the layout of an alternative form")

### Placing the form on a page

1. Open the **Pages** application.
2. Select or create a page where you want to add the registration form in the content tree.
3. Switch to the **Design** tab.
4. [Add](https://docs.kentico.com/k11/developing-websites/developing-websites-using-the-portal-engine/using-and-configuring-web-parts.md) the **Custom registration form** web part onto the page.
5. Select _**My registration form**_ (cms.user.MyRegistrationForm) as the value of the web part's **Alternative form** property.

If you switch to the live site and view the page, you can see the custom registration form that you created. You can now try to register using the form and verify that the user has been created in **Configuration -> Users**.
