--- parts: - Overview - Form - Systems title: 'Form: Overview' eleventyNavigation: key: Systems >> Form >> Overview title: Overview order: 10 parent: Systems >> Form --- # Form: Overview This page should be used as a starting point when first using the Form System. It provides an overview of its essential building blocks and provides links to detailed explanations of most of its core concepts. ## Building Blocks Our Form System is built from a set of very fundamental building blocks: `form control`s, `field`s and `fieldset`s. ### Form Controls `Form control`s are the most fundamental building blocks of our Form System. They are the fundament of both `field`s, and `fieldset`s and provide a normalized, predictable API throughout the whole form. Every form element inherits from `FormControlMixin`. `FormControlMixin` creates the default html structure and accessibility is designed to be used in conjunction with the ValidateMixin and the FormatMixin. ## Fields Fields (think of an input, textarea, select) are the actual form controls the end user interacts with. They extend `LionField`, which in turn uses the `FormControlMixin`. Fields provide a normalized API for both platform components and custom made form controls. On top of this, they feature: - [formatting/parsing/serializing](./formatting-and-parsing.md) of view values. - Advanced [validation](./validate.md) possibilities. - Creation of advanced user interaction scenarios via [interaction states](./interaction-states.md). - Provision of labels and help texts in an easy, declarative manner. - Accessibility out of the box. - Advanced styling possibilities: map your own Design System to the internal HTML structure. `Form control`s are the most fundamental building block of the Forms. They are the basis of both `field`s and `fieldset`s, and the `form` itself. ### Platform fields (wrappers) - [LionInput](../../../components/input/overview.md), a wrapper for ``. - [LionTextarea](../../../components/textarea/overview.md), a wrapper for `