DK97 UI

Form Group

Die Form Group dient zur strukturierten Darstellung von Formularfeldern.
Sie kombiniert Label, Eingabefeld, Hilfetext und Fehlermeldungen zu einer gemeinsamen Einheit.

Beispiele

Basic

Eine einfache Form Group mit Label und Input.


<div class="m-form-group">
    <label
        class="m-form-group__label"
        for="name">
        Name
    </label>

    <input
        class="a-input"
        id="name"
        type="text">
</div>

Required

Kennzeichnung eines Pflichtfeldes.


<div class="m-form-group -required">
    <label
        class="m-form-group__label"
        for="email">
        E-Mail
    </label>

    <input
        class="a-input"
        id="email"
        type="email"
        required>
</div>

Help Text

Zusätzliche Hinweise können unterhalb des Feldes angezeigt werden.

Der Benutzername muss eindeutig sein.


<div class="m-form-group">
    <label
        class="m-form-group__label"
        for="username">
        Benutzername
    </label>

    <input
        class="a-input"
        id="username"
        type="text">

    <p class="m-form-group__help">
        Der Benutzername muss eindeutig sein.
    </p>
</div>

Error State

Fehlerzustände sollten direkt am Feld angezeigt werden.

Bitte gib eine gültige E-Mail-Adresse ein.


<div class="m-form-group">
    <label
        class="m-form-group__label"
        for="email-error">
        E-Mail
    </label>

    <input
        class="a-input -error"
        id="email-error"
        type="email"
        aria-describedby="email-error-message">

    <p
        class="m-form-group__error"
        id="email-error-message">
        Bitte gib eine gültige E-Mail-Adresse ein.
    </p>
</div>

Textarea

Form Groups können auch mit Textareas verwendet werden.

Beschreibe dein Anliegen möglichst genau.


<div class="m-form-group">
    <label
        class="m-form-group__label"
        for="message">
        Nachricht
    </label>

    <textarea
        class="a-textarea"
        id="message"></textarea>

    <p class="m-form-group__help">
        Beschreibe dein Anliegen möglichst genau.
    </p>
</div>

Klassen

Klasse Beschreibung
.m-form-group Container für ein Formularfeld.
.m-form-group__label Beschriftung des Formularfeldes.
.m-form-group.-required Kennzeichnet die Form Group als Pflichtfeld und zeigt ein Sternchen am Label an.
.m-form-group__help Hilfetext unterhalb des Feldes.
.m-form-group__error Fehlermeldung unterhalb des Feldes.

Hinweise

Hinweis
Die Form Group dient als Standardcontainer für Formularfelder. Sie sollte für Inputs, Textareas, Selects, Checkboxen und Radios verwendet werden.

Best Practices

Empfohlene Verwendung
Verwende für jedes Formularfeld eine eigene Form Group. Dadurch bleiben Formulare konsistent und leicht wartbar.
Vermeiden
Fehlermeldungen sollten nicht außerhalb der Form Group dargestellt werden. Der Bezug zum Feld geht sonst verloren.

Accessibility

Label verwenden
Labels sollten immer mit dem zugehörigen Formularfeld über das for-Attribut verknüpft werden.
Fehlermeldungen verknüpfen
Fehlermeldungen sollten über aria-describedby mit dem Formularfeld verbunden werden.
Pflichtfelder
Die Klasse -required zeigt nur visuell an, dass ein Feld erforderlich ist. Das eigentliche Formularfeld sollte zusätzlich das Attribut required besitzen.