Zum Hauptinhalt springen

DateField

In ChatGPT öffnen
Shadow dwc-field 23.02
Java API
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.

Das DateField ist eine Feldkomponente, die es Benutzern ermöglicht, Daten nach Jahr, Monat und Tag einzugeben oder auszuwählen. Es bietet eine intuitive und effiziente Möglichkeit, datumsbezogene Informationen in verschiedenen Apps zu verarbeiten, und bietet die Flexibilität, die Eingaben der Benutzer zu validieren.

Code anzeigen

Feldwert (LocalDate)

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

Angezeigter Wert VS geparster Wert

Während der angezeigte Wert sich an die Browsersprache des Benutzers anpasst und sicherstellt, dass das Format regional vertraut ist (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-Wertes

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

LocalDate value = dateField.getValue();

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

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

Verwendung von setText()

Sie können auch einen Wert mithilfe eines Rohstrings zuweisen, aber er muss dem exakten Format yyyy-MM-dd folgen:

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

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

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

Verwendungen

Das DateField ist ideal für die Auswahl und Anzeige von Daten in Ihrer App. Hier sind einige Beispiele, wann das DateField verwendet werden sollte:

  1. Veranstaltungsplanung und Kalender: Datumsfelder sind unerlässlich in Apps, die die Planung von Veranstaltungen, Buchungen von Terminen oder das Verfolgen wichtiger Daten umfassen.

  2. Formulareingaben: Vereinfachen Sie den Auswahlprozess für ein Benutzer, der ein Formular ausfüllt, das ein Datum erfordert, wie beispielsweise ein Geburtsdatum.

  3. Buchungs- und Reservierungssysteme: Apps, die Buchungs- und Reservierungssysteme umfassen, erfordern oft, dass Benutzer spezifische Daten eingeben. Ein Datumsfeld vereinfacht den Prozess und gewährleistet eine genaue Datumswahl.

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

Minimal- und Maximalwert

Der Minimalwert

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

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

Der Maximalwert

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 gleich 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 einen Datumsstring 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 einen Datumsstring im Format yyyy-MM-dd.

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

Beste Praktiken

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

  • Barrierefreiheit: Verwenden Sie geeignete Beschriftungen, um sicherzustellen, dass Benutzer mit Hilfstechnologien leicht zu den Datumsfeldern in Ihrer App navigieren und diese verwenden können.

  • Auto-Populate aktuelles Datum: Wenn passend für den Anwendungsfall Ihrer App, auto-populate das Datumsfeld mit dem aktuellen Datum.