Zum Hauptinhalt springen

DateField

In ChatGPT öffnen
Schatten dwc-field 23.02
Java API

Die DateField-Komponente ermöglicht es Benutzern, ein Datum nach Jahr, Monat und Tag einzugeben oder auszuwählen. Sie verarbeitet die Validierung automatisch, sodass falsch formatierte Daten vor dem Absenden des Formulars erfasst werden.

Verwendung von DateField

Inheritance

This class is a Field component, and inherits its features and behaviors. For an overview of Field properties, events, and other important information, please refer to the Field documentation.

DateField erweitert die gemeinsame Field-Klasse, die gemeinsame Funktionen für alle Komponentenfelder bereitstellt. Das folgende Beispiel erstellt Abfahrts- und Rückkehr-DateFields, die synchron bleiben, mit Min- und Max-Beschränkungen, um den wählbaren Bereich einzuschränken.

Code anzeigen

Feldwert (LocalDate)

Die DateField-Komponente speichert ihren Wert intern als LocalDate-Objekt, das ein Datum ohne Zeit- oder Zeitzoneninformationen darstellt. Dies ermöglicht eine genaue Verarbeitung von kalenderbasierten Eingaben über unterschiedliche Systeme hinweg.

Angezeigter Wert VS geparster Wert

Während der angezeigte Wert sich an die Spracheinstellungen des Browsers des Benutzers anpasst und somit regional vertraute Formate sicherstellt (z. B. MM/DD/YYYY in den Vereinigten Staaten oder DD.MM.YYYY in Europa), basiert der geparste Wert immer auf dem festen Format yyyy-MM-dd.

Abrufen und Setzen des LocalDate-Werts

Um den aktuellen Wert abzurufen, verwenden Sie die Methode getValue():

LocalDate value = dateField.getValue();

Um den Wert programmgesteuert festzulegen, verwenden Sie die Methode setValue():

dateField.setValue(LocalDate.of(2024, 4, 27));

Verwendung von setText()

Sie können auch einen Wert mit einer Rohzeichenfolge zuweisen, diese muss jedoch dem genauen Format yyyy-MM-dd folgen:

dateField.setText("2024-04-27"); // gültig

dateField.setText("04/27/2024"); // ungültig
Warnung

Beim Verwenden der Methode setText() wird eine IllegalArgumentException ausgelöst, wenn die Komponente die Eingabe im Format yyyy-MM-dd nicht parsen kann.

Anwendungen

Das DateField ist ideal zum Auswählen und Anzeigen von Daten in Ihrer Anwendung. Hier sind einige Beispiele, wann Sie das DateField verwenden sollten:

  1. Ereignisplanung und Kalender: Datumsfelder sind unerlässlich in Apps, die die Planung von Ereignissen, die Buchung von Terminen oder das Verfolgen wichtiger Daten beinhalten.

  2. Formulareingaben: Vereinfachen Sie den Auswahlprozess für ein Datum für einen Benutzer, der ein Formular ausfüllt, das ein Datum erfordert, wie z.B. ein Geburtstag.

  3. Buchungs- und Reservierungssysteme: Apps, die Buchungs- und Reservierungssysteme beinhalten, erfordern oft, dass Benutzer spezifische Daten eingeben. Ein Datumsfeld vereinfacht den Prozess und sorgt für eine genaue Datenauswahl.

  4. Aufgabenverwaltung und Fristen: Datumsfelder sind wertvoll in Apps, die Aufgabenverwaltung oder das Setzen von Fristen beinhalten. Benutzer können einfach Fälligkeitstermine, Startdaten oder andere zeitkritische Informationen angeben.

Min- und Max-Wert

Der Min-Wert

Die Methode setMin() definiert das früheste Datum, das ein Benutzer in die Komponente eingeben kann. Wenn die Eingabe früher als das angegebene Minimum ist, schlägt die Validierung fehl. Wenn sie zusammen mit setMax() verwendet wird, muss das Minimum ein Datum sein, das dasselbe oder früher als das Maximum ist.

dateField.setMin(LocalDate.of(2023, 1, 1)); // Mindestzulässig: 1. Januar 2023

Der Max-Wert

Die Methode setMax() definiert das späteste Datum, das die Komponente akzeptiert. Wenn das eingegebene Datum später als das angegebene Maximum ist, ist die Eingabe ungültig. Wenn beide Werte definiert sind, muss das Maximum ein Datum sein, das dasselbe oder später als das Minimum ist.

dateField.setMax(LocalDate.of(2023, 12, 31)); // Höchstens zulässig: 31. Dezember 2023

Statische Hilfsfunktionen

Die DateField-Klasse bietet auch die folgenden statischen Hilfsmethoden:

  • fromDate(String dateAsString): Konvertiert eine Datumszeichenfolge im Format yyyy-MM-dd in ein LocalDate-Objekt, das dann mit diesem Feld oder anderswo verwendet werden kann.

  • toDate(LocalDate date): Konvertiert ein LocalDate-Objekt in eine Datumszeichenfolge im Format yyyy-MM-dd.

  • isValidDate(String dateAsString): Überprüft, ob die angegebene Zeichenfolge ein gültiges Datum im Format yyyy-MM-dd ist.

Best Practices

Um ein optimales Benutzererlebnis bei der Verwendung der DateField-Komponente zu gewährleisten, sollten Sie die folgenden Best Practices berücksichtigen:

  • Barrierefreiheit: Verwenden Sie geeignete Beschriftungen, um sicherzustellen, dass Benutzer mit unterstützenden Technologien die Datumsfelder in Ihrer Anwendung leicht navigieren und verwenden können.

  • Automatisches Ausfüllen des aktuellen Datums: Wenn es für den Anwendungsfall Ihrer App sinnvoll ist, füllen Sie das Datumsfeld automatisch mit dem aktuellen Datum aus.