Forms

An interactive part of the interface that allows users to enter, edit, or configure information and save it in the system.

Overview

Selecting the proper form component is crucial for a smooth user experience. The component should always fit the purpose and allow the user to provide an answer as quickly and efficiently as possible.

In MDS, we provide a variety of form components, including Text Inputs, Data Inputs, and Selection Controls.


Text Inputs

Inputs are free-form fields that require users to enter data themselves. They should be used when predicting or offering alternative answers is impossible.

Component type 

Purpose

Examples of use

 

Text Input

To ask for information unique to each user.

Name and surname, street name, phone number, e-mail address. 

Text Input

Text Area 

To collect a descriptive answer spanning multiple lines.

Comments, notes, special requirements, product descriptions.

Text Area

Password Input

To ask for private information, masking entered characters.

Passwords, credit card numbers, personal document numbers.

Password Input

Chip Input

To collect multiple entries of the same format.

Multiple e-mail addresses.

Chip Input

 


Data inputs

These components allow users to provide data in a specific format.

Component type 

Purpose

Examples of use

 

Signature Input

Capture finger or mouse motion as a graphical signature.

User’s signature.

Signature input

Date Picker

To select a specific date.

Start date, end date, date of consumption.

 Date Picker

Date Range Picker

To select a period with start and end dates.

Reservation duration.

 Date Range Picker

Month Picker

To select a month without specifying an exact date.

Billing month, event month.

Month picker

Time Picker

To select a specific time.

Arrival, departure time.

Time picker

Drop Zone

To upload files from the computer.

Room images, documents.

Drop Zone

Stepper

To select a numeric value using increment/decrement controls.

Number of guests, adults, children.

Stepper

Selection controls

Selection controls allow users to choose from predefined options, simplifying input. Use the decision tree to determine the best control for your use case.

Component type 

Purpose

Examples of use

 

Select*

To select one option from a pre-defined long list.

Country, language, nationality,

Select

Multi Select


To select multiple options from a pre-defined long list.

Also comes in a compact variant.

Multiple languages, classifications.

Multi Select

Search

To filter and select a single option from a list that was not preloaded on the front end to optimize performance.

Customer, company, booker.

Search

Toggle

To enable/disable settings or to choose one of two binary options.

Activating modes, blocking values, enabling as default, enabling settings.

Toggle

Radio Button Group

To select one of the pre-defined options from a short list.

Sex, title, purpose of stay.

Radio button group

Checkbox Group

To select one or more pre-defined options from a short list.

Preferences, amenities.

Chekcbox Group

Selection Card Group*

Alternative for Radio Buttons and Checkbox Groups, offering enhanced design.

Payment options, document type.

Selection cards

Tree*

To select one or multiple options from a hierarchical list.

Roles, permissions, properties.

Tree

Filter Chips

Alternative to Checkbox Group for short labels only.

Search categories, sizes.

Filter Chips

Components marked with * can be set as single or multi-selection controls.

 

Selection Controls decision tree

When you are unsure which selection control best suits your use case, this decision tree flow will help you narrow down your options and choose the component that will ensure a good user experience.

 

Dos and Don’ts

Don't

Do not use Segmented Control as a form component. While some Design Systems indeed use it as an alternative for radio buttons, in MDS, it serves a different purpose.

Do

If you're looking for a design alternative to Radio Buttons choose Selection Cards.

Don't

Do not mix different selection controls in similar questions, as it increases cognitive load.

Do

Keep selection controls consistent across questions with similar context and the same number of answers.