Skip to content

🔮 Text field ​

Die Textfeld-Komponente ermöglicht dem Nutzer Text oder numerische Werte einzugeben.

Overview ​

Intro ​

Die Eingabefeld-Komponente ermöglicht dem Nutzer Text oder numerische Werte einzugeben. Üblicherweise ist das Eingabefeld auf einzeilige Texteingaben ausgerichtet. Es können jedoch mehrzeilige Eingaben oder Eingaben mit besonderer Schreibweise durch entsprechend konfigurierte Eingabefelder bereitgestellt werden. Text- bzw. alphanumerische Eingaben sind immer unformatiert, d. h. die reine Zeichenfolge wird erfasst.

Ein Eingabefeld sollte immer einen klaren Zweck haben, der als Label angezeigt wird (z.B. Name, Straße, PLZ, Stadt, IBAN, Telefonnummer, etc.)

Text Field

Verwendung ​

👍 Do👎 Don't
Verwenden wenn: - eine Erfassung von Daten in Form von Freitext oder alphanumerischen Eingaben in Formularen erfolgt.
- kurze einzeilige Daten erfasst werden mĂŒssen.
Nicht verwenden wenn: - nur ein einfacher Anzeigetext (z. B. Textblöcke, AbsĂ€tze) dargestellt werden soll. HierfĂŒr gibt es verschiedene Textformatierungen die Sinn machen können (siehe Typografie).
- das Standard Eingabefeld sich in einem Fließtext befinden wĂŒrde (→ nicht im Fließtext verwenden)
- es eine bestimmte Anzahl an vordefinierten Optionen zur Eingabe gibt. HierfĂŒr ein Dropdown oder eine ComboBox verwenden.
- eingegebene Daten angezeigt werden sollen, verwende dazu Name-Wert-Facetten.
- die Eingabe vom Nutzer geregelt werden muss, verwende dazu das maskierte Eingabefeld (Utilities in der Entwicklung).
- die Nutzer Daten in bestimmten Formaten wie z.B. GeldbetrÀge mit Tausenderpunkten, Kreditkartennummern, IBAN oder IP Adressen eingeben sollen, verwende dazu das maskierte Eingabefeld (Utilities in der Entwicklung).
- lÀngere Texteingaben nötig sind, verwende dazu das mehrzeilige Eingabefeld.
- Passwörter eingegeben werden sollen, verwende dazu Passwort Eingabefelder.

Guidelines ​

Anordnung & Gruppierung ​

Die Textausrichtung innerhalb der Textfelder ist standardmĂ€ĂŸig linksbĂŒndig. Dadurch stehen das Label und der Wert rĂ€umlich und visuell nah beieinander, was das Erfassen der Eingabefelder fĂŒr den Nutzer erleichtert.

Standard Textfeld

Rechts ausrichten ​

Zahlenwerte wie WĂ€hrungen oder Maßeinheiten fĂŒr FlĂ€chen und Volumen wie ㎡ oder Kubik Liter darstellen, mĂŒssen rechtsbĂŒndig ausgerichtet werden. Datum und Uhrzeit Werte bleiben davon unberĂŒhrt und mĂŒssen weiterhin linksbĂŒndig dargestellt werden.

Text field mit rechtsbĂŒndigem Wert

WĂ€hrungen und sonstige Einheiten ​

WĂ€hrungen und Einheiten sind als Suffix umzusetzen. Damit lĂ€sst sich der Wert von der Einheit besser trennen. Dadurch werden Validierungen vereinfacht und die Eingabe fĂŒr den Nutzer ist einheitlich geregelt.

Varianten/ Typen ​

Standard Text field ​

Standard Text field

Mehrzeiliges Eingabefeld (Multi-line input, Text area) ​

Mehrzeiliges Eingabefeld

Maskiertes Text field ​

INFO

Die Maskierung erfolgt ĂŒber Format Utilities in der Entwicklung.

Maskierte Text fields regeln, was Nutzer in das Text field eingeben können. Sie erleichtern den Nutzern die Eingabe in bestimmten Formaten. Zu diesen zÀhlen z.B. GeldbetrÀge mit Tausenderpunkten, Kreditkartennummern, IBAN oder IP Adressen.

Maskiertes Textfeld

Das Mate Design System bietet folgende hĂ€ufig genutzte Utilities fĂŒr die Maskierung beim Text Field

  • Numerische Werte mit Tausenderpunkten
  • IBAN
  • Kreditkartennummern
  • Telefonnummern
  • Uhrzeiten

Platzhalter Text ​

Der Platzhalter-Text kann verwendet werden, um das erwartete Format an den Nutzer zu kommunizieren. Sobald ein Zeichen eingegeben wird, verschwindet der Platzhalter-Text.

Formatierung ​

Die Formatierung in einem maskierten Eingabefeld erfolgt direkt wÀhrend der Eingabe.

Die Formatierung kann dynamisch auf die Werte, die eingegeben werden, reagieren. So können die Formatierungen z.B. je nach Kreditkarten-Anbieter variieren.

Kreditkarten-AnbieterFormat
American Express#### ###### #####
VISA#### #### #### ####

Werte kopieren ​

Werte, die aus einem maskierten Eingabefeld kopiert werden, enthalten die Formatierung.

Wert im maskierten EingabefeldWert im Zwischenspeicher
16:54:2116:54:21
1.234,561.234,56

Wert einfĂŒgen ​

Nutzer können formatierte und unformatierte Werte in ein maskiertes Eingabefeld einfĂŒgen.

Quelle die Nutzer kopierenWert im maskierten Eingabefeld, nach dem EinfĂŒgen
4000-1234-1234-12344000 1234 1234 1234
40001234123412344000 1234 1234 1234

Verhalten ​

Bei Klick in ein Eingabefeld, wird der Cursor in dieses gesetzt und der Nutzer kann die Eingabe beginnen. Je nach Typ des Eingabefeldes (z.B. numerische Eingabe) können bestimmte Eingaben verboten werden. So wird die HÀufigkeit von Fehleingaben verringert.

States ​

Ein aktives Eingabefeld kann vom Nutzer fokussiert werden und die Eingabe kann wie gewohnt erfolgen.

Die Darstellung der States Aktiv , Disabled , Read Only , Hover und Fokus entspricht der Standarddarstellung. Siehe States .

Fehlerhaft

Eingabefelder können validiert werden. Je nach Ergebnis der Validierung wird das Eingabefeld hervorgehoben. Im Fehlerzustand erscheint die Fehlermeldung unterhalb vom Eingabefeld und das Feld wird rot hervorgehoben. Die Fehlermeldung sollte so formuliert werden, dass dem Nutzer klar ist, wie der entstandene Validierungsfehler behoben werden kann, siehe dazu auch Validierung unter Formulare .

Hilfetext

Wenn nötig, kann unterhalb des Eingabefeldes ein Hilfetext angezeigt werden. Dieser gibt dem Nutzer weitere Informationen ĂŒber die benötigte Eingabe.

Barrierefreiheit ​

Tastaturbedienung ​

Über die Tabulatortaste ("Tab") oder Hochstell- und Tabulatortaste ("Shift" + "Tab") lĂ€sst sich zwischen den einzelnen Eingabefeldern springen. In einem aktiven fokussierten Eingabefeld kann die Eingabe wie gewohnt erfolgen.

Spezifische Hinweise ​

Da jedes Eingabefeld ein Label haben muss, ist kein zusÀtzliches "aria-label" nötig.

Platzhalter (Placehoder) im Eingabefeld können optional zugÀnglich gemacht werden, indem sie im aria-label Attribut angegeben werden.

Gesperrte Eingabefelder sollten standardmĂ€ĂŸig nicht ĂŒber die Tastatur fokussierbar sein. Erst wenn der Nutzer entsprechende Einstellungen vornimmt, sollten auch die gesperrten Eingabefelder in den Fokussierungs-Kreislauf aufgenommen werden.

Develop Vue ​

Die Implementierung der Webcomponenten in Vue.js kann in folgendem Showcase innerhalb des AKDB Netzwerks betrachtet werden: https://mate-ds-vue-components-showcase-25.core-platform.kubt.akdb.net/?path=/docs/komponenten-text-field--docs

Develop Flow ​

Der Showcase ist innerhalb des AKDB Netzwerks zu finden unter: https://mate-ds-flow-components-showcase-25.core-platform.kubt.akdb.net/?src=component%252FtextField

Code Examples ​

Install ​

Maven ​

xml
<dependency>
    <groupId>com.vaadin</groupId>
    <artifactId>vaadin-text-field-flow</artifactId>
</dependency>

Import ​

java
import com.vaadin.flow.component.textfield.TextField;

Variants ​

Default ​

java
TextField textField = new TextField();
textField.setLabel("Name");
textField.setValue("Max Mustermann");
textField.setHelperText("Vor- und Nachname eingeben");
textField.setClearButtonVisible(true);

Required ​

java
TextField textField = new TextField();
textField.setLabel("Pflichtfeld");
textField.setRequired(true);

Disabled ​

java
TextField textField = new TextField();
textField.setLabel("Inaktiv");
textField.setValue("Nicht editierbar");
textField.setEnabled(false);

Read Only ​

java
TextField textField = new TextField();
textField.setLabel("Nur lesen");
textField.setValue("SchreibgeschĂŒtzter Wert");
textField.setReadOnly(true);

Invalid ​

java
TextField textField = new TextField();
textField.setLabel("UngĂŒltig");
textField.setInvalid(true);
textField.setErrorMessage("Bitte einen gĂŒltigen Wert eingeben.");