## Field types [#field-types]

The supported field types for the Registration wizard include:

* **input** — a text input field.
* **group** — a container that holds one or more fields of various types or other groups.
* **passwordButton** — a password input field that includes a show/hide button for toggling the visibility of the entered password.
* **select** — a dropdown that enables clients to select a single option from a predefined list.
* **multiSelect** — a dropdown that enables clients to select multiple options from a predefined list.
* **radio** — a single-choice selector that presents several options, enabling clients to select one option from a predefined list.
* **boolean** — a checkbox field that enables clients to mark it as either true or false.
* **date** — a field for entering or selecting a date.
* **phone** — a field for entering a phone number according to the predefined format.

## Validation rules [#validation-rules]

Data validation rules that can be assigned to the Registration wizard fields include:

* `required` — indicates that a field is required.
* `email:rfc,spoof,strict` — validates that an email address follows the correct format.
* `unique_active_email` — ensures that an email address is unique and not already registered in your system.
* `password_length` — validates that a password meets the required length.
* `password_content` — validates that a password includes the required characters and symbols.
* `same:password` — ensures that the password entered in the **Password confirmation** field matches the one in the **Password** field.
* `string` — a string of characters.
* `min:1` — requires a minimum of one character in the entered string.
* `max:30` — limits the entered string to a maximum of 30 characters.
* `info_name` — validates that an entered string includes allowed characters.
* `phone:AUTO` — validates that a phone number follows the correct format.
* `distinct` — ensures that the phone number is unique and not already confirmed by another registered client in your system.
* `date` — validates that the entered or selected value is a date.
* `age:18` — ensures that a user is at least 18 years old (in addition to the `date` rule).
* `requiredValue` — validates that the selected value is **True**.
* `countries_handbook` — ensures that the value is from the list of countries configured in your system.
* `client_addresses_handbook` — ensures that the value is from the list of address types registered in your system.
* `nullable` — allows the field to accept an empty value.
* `array` — an array of values.
* `numeric` — a numeric value.
