> Markdown version of [Add a Form](https://vaadin.com/docs/next/building-apps/forms-data/add-form). Section index: [llms.txt](https://vaadin.com/docs/next/building-apps/llms.txt)

# Add a Form

In business applications, forms play a central role in **displaying and collecting data**. Since users often spend a significant amount of time interacting with forms, they must meet high standards for usability and functionality. A well-designed form should follow the logic of the business process it supports. It should validate input effectively, give clear and helpful feedback, support keyboard-only navigation, and be accessible to all users. As a result, **implementing forms can become complex**.

Vaadin offers a range of components and utilities to simplify form building. However, because forms and data binding cover a broad area, the topic is divided into several focused guides. Each one covers a specific aspect of form development.

The guides use Flow views. For forms in React views, see the [Forms](https://vaadin.com/docs/next/hilla/guides/forms.md) reference guide.

- [Fields & Binding](https://vaadin.com/docs/next/building-apps/forms-data/add-form/fields-and-binding.md): Learn how to compose field components into forms and bind them to Form Data Objects.
- [Form Validation](https://vaadin.com/docs/next/building-apps/forms-data/add-form/validation.md): Learn how to validate a form in a Vaadin application.
- [Loading & Saving](https://vaadin.com/docs/next/building-apps/forms-data/add-form/loading-and-saving.md): Learn how to load and save a form in a Vaadin application.
- [Dialogs & Drawers](https://vaadin.com/docs/next/building-apps/forms-data/add-form/dialogs-and-drawers.md): Learn how to show forms in dialogs and drawers.
