Beispiele
Im Abschnitt Verwendung finden Sie Informationen zum korrekten Design einer Datumsauswahl und den verschiedenen von Guidewire bereitgestellten Konfigurationsoptionen.
Einfaches Beispiel
Sie können eine Eingabe hinzufügen, mit der ein Benutzer ein Datum entweder manuell oder über ein modales Kalenderfenster eingeben kann.
<DatePicker
label="Choose date"
onChange={(event, value) =>
console.log('The date chosen is', value.day, value.month, value.year)
}
/>
Beispiel für Min/Max
Sie können den Datumsbereich begrenzen, der vom Benutzer ausgewählt werden kann.
Note: Dies beinhaltet keine Validierung, sondern schränkt nur die Optionen in einer Dropdown-Liste ein. Benutzer können jedes Datum manuell eingeben.
<DatePicker
label="Choose date"
minDate={{ day: 1, month: 1, year: 2022 }}
maxDate={{ day: 31, month: 12, year: 2023 }}
/>
Beispiel für Validierung
Mit der Eigenschaft onChange kann eine Funktion aufgerufen werden, die stateMessages aktualisiert, um dem Benutzer Fehler anzuzeigen.
Im folgenden Beispiel werden Fehler für ungültige Daten oder Daten angezeigt, die nicht im Jahr 2022 liegen.
function DatePickerMinMaxValidation() {
const [validationMessages, setValidationMessages] = useState({});
const minDate = { day: 1, month: 1, year: 2022 };
const maxDate = { day: 31, month: 12, year: 2022 };
function JutroDateToString(date) {
return `${date.year}-${String(date.month).padStart(2, '0')}-${String(
date.day
).padStart(2, '0')}`;
}
const parseErrorCode = (errorObject: { errorCode?: string }) => {
if (!errorObject) {
return;
}
const { errorCode } = errorObject;
if (errorCode === 'INVALID_DATE') {
return { error: ['Please enter a valid date.'] };
}
if (errorCode === 'MIN_EXCEEDED') {
return {
error: [`Please enter a date after ${JutroDateToString(minDate)}.`],
};
}
if (errorCode === 'MAX_EXCEEDED') {
return {
error: [`Please enter a date before ${JutroDateToString(maxDate)}.`],
};
}
};
const onChange = useCallback((e, newValue, errorObject) => {
setValidationMessages({});
const errorDetected = parseErrorCode(errorObject);
if (errorDetected) {
setValidationMessages(errorDetected);
}
}, []);
return (
<DatePicker
label="Choose date"
onChange={onChange}
minDate={minDate}
maxDate={maxDate}
stateMessages={validationMessages}
/>
);
}
Verwendung
Überblick
Datumsauswahl ist eine Komponente, die aus zwei Hauptelementen besteht: einem Datumsauswahlfeld und einem Dropdown-Kalender. Die Kalenderkomponente stellt ein Datum visuell dar und bietet eine einheitliche Navigation durch Tages-, Monats- und Jahresansichten. Mit diesem Inline-Kalender können Benutzern Datumsangaben in einer Ansicht durchsuchen und auswählen.
Zu verwenden
- Auswahl eines in der Nähe des aktuellen Datums liegenden Datums.
- Auswahl eines Datums und Speichern in einem Eingabefeld.
- Durchsuchen verschiedener Datumsansichten, wie Tage, Monate und Jahre.
- Für eine visuelle Darstellung des Datums.
Nicht zu verwenden
- Auswahl eines in der fernen Vergangenheit oder Zukunft liegenden Datums. Verwenden Sie in diesem Fall die Datumseingabe.
- Auswahl eines Datumsbereichs. Verwenden Sie in diesem Fall den Datumsbereich.
- Wenn Sie nur den Monat und das Jahr ohne einen bestimmten Tag auswählen möchten. Verwenden Sie in diesem Fall die Monatsauswahl.
- Wenn Sie nur das Jahr auswählen möchten, ohne den Monat oder Tag anzugeben. Verwenden Sie in diesem Fall die Jahresauswahl.
- Auswahl einer bestimmten Uhrzeit. Verwenden Sie in diesem Fall die Zeitauswahl.
Siehe auch
Aufbau

Die Datumsauswahlkomponente besteht aus den folgenden Elementen:
- Datumsauswahlfeld: Ein Eingabefeld, in das der Benutzer den Tag, den Monat und das Jahr manuell eingeben kann.
- Kalendersymbol: Eine Symbolschaltfläche, die den Dropdown-Kalender auslöst, wenn sie angeklickt wird.
- Schaltfläche „Vorheriger Monat“: Ein Navigationssteuerelement zum Anzeigen und Auswählen von Daten aus dem Vormonat.
- Monatschaltfläche: Ein Steuerelement zum Auswählen eines anderen Monats.
- Jahresschaltfläche: Ein Steuerelement zum Auswählen eines anderen Jahres.
- Schaltfläche „Nächster Monat“: Ein Navigationssteuerelement zum Anzeigen und Auswählen von Daten aus dem Folgemonat.
- Aktuelles Datum: Das aktuelle Datum mit einer Linie darunter, um dies visuell deutlich zu machen.
- Ausgewähltes Datum: Das vom Benutzer ausgewählte und in der Datumsauswahl hervorgehobene Datum.
- Schaltfläche „Heute“: Eine Schaltfläche, die das Datumsauswahlfeld automatisch mit dem aktuellen Tag, Monat und Jahr ausfüllt, wenn darauf geklickt wird.
Das Format des Datums, das in der Datumsauswahl angezeigt wird, hängt vom Gebietsschema des Benutzers ab. Das bedeutet, dass das Datumsformat je nach Standort und Spracheinstellungen des Benutzers variiert.
In den USA wird beispielsweise in der Regel das Datumsformat MM/DD/YYYY verwendet, in vielen europäischen Ländern hingegen das Format DD/MM/YYYY.
Das Datumsformat wird als Platzhalter in der Datumsauswahl angezeigt, um dem Benutzer die Datumseingabe zu erleichtern. Dadurch wird gewährleistet, dass das Format während des gesamten Eingabevorgangs sichtbar bleibt.

Ein Platzhalter im Eingabefeld führt den Benutzer währnd der Eingabe durch das erwartete Datumsformat.
Inhalt
Allgemeine Richtlinien fürs Schreiben
- Verwenden Sie die Großschreibung des ersten Worts und von Substantiven für alle Aspekte der Gestaltung von Guidewire-Produktschnittstellen. Schreiben Sie nicht alles groß.
- Verwenden Sie in den meisten Situationen Verben im Präsens und im Aktiv.
- Verwenden Sie gebräuchliche Abkürzungen, um Ihrem Text einen natürlichen und informellen Ton zu verleihen.
- Verwenden Sie eine einfache Sprache. Vermeiden Sie unnötigen Jargon und komplexe Sprache.
- Halten Sie Wörter und Sätze kurz.
Eine Beschriftung einfügen
Beschriften Sie die Datumsauswahl mit einem aussagekräftigen, beschreibenden Text. In dieser Beschriftung müssen der Zweck und der ausgewählte Datumstyp angegeben sein.
Positionieren Sie eine dauerhafte Beschriftung außerhalb des Feldes.
Verwenden Sie keinen Platzhaltertext als Ersatz für die Beschriftung.
Fügen Sie Hilfetext hinzu, wenn er aussagekräftig ist
Verwenden Sie Hilfetext, um Kontext bereitzustellen und zu kommunizieren, welches Datum ausgewählt werden soll. Hier sind einige Beispiele dafür, was darin stehen könnte:
- Hinweise, die den Benutzer bei der Auswahl des entsprechenden Datums unterstützen
- Mehr Kontext, warum der Benutzer ein bestimmtes Datum auswählen muss
Verwenden Sie Hilfetext nur für relevante Informationen. Vermeiden Sie es, die gleichen Angaben wie in der Beschriftung zu wiederholen. Schreiben Sie den Hilfetext in 1 bis 2 kurzen, vollständigen Sätzen, die mit einem Punkt enden. Verwenden Sie die übliche Groß- und Kleinschreibung.
Verwenden Sie Hilfetext, um Informationen zum Kontext zu geben.
Verwenden Sie den Hilfetext nicht, um einfach dieselben Informationen wiederzugeben, die auch in der Beschriftung erscheinen.
Verhalten
Zustände
Die Datumsauswahl-Komponente verhält sich wie ein Eingabefeld, mit den gleichen interaktiven Zuständen.
Interaktionen
Maus
Die Benutzer können den Tag, den Monat und das Jahr manuell in das Datumsauswahlfeld eingeben oder auf das Kalendersymbol klicken, um den Tag, den Monat und das Jahr aus einer Dropdown-Liste auszuwählen.

Tastatur
Die Datumsauswahl wird mit Spacebar aus- und eingeklappt. Die Benutzer navigieren mit den Pfeiltasten durch die Optionen und wählen mit der Taste Spacebar oder Enter aus.
Wenn der Benutzer mit der Tabulatortaste in das Eingabefeld für die Monatsauswahl wechselt, wird ein Kalender-Widget angezeigt. Das aktuelle Datum wird hervorgehoben und Nur-Tastatur-Benutzer können das Datum hier manuell eingeben. Durch Drücken der NACH-UNTEN-TASTE können Benutzer den Tastaturfokus auch auf das Widget legen, wenn es erweitert ist. Navigieren Sie mit den Pfeiltasten durch den Kalender. Die Schaltflächen „Zurück“, „Monat“, „Jahr“ und „Weiter“ können mit der Tab-Taste fokussiert werden, wenn das Widget geöffnet ist.
Screenreader
Wenn Benutzer mit der Tabulatortaste in das Eingabefeld für die Datumsauswahl wechseln, werden sie über den vorausgefüllten Datumswert informiert, und darüber, dass dieser Wert aktuell aktiviert ist. Über dieses Eingabefeld kann das Datum manuell eingegeben werden. Solange das vorausgefüllten Datum fokussiert wird, ist auch ein Kalender-Widget verfügbar. Die Benutzer können den Fokus durch Drücken der Abwärtspfeiltaste auch auf das Widget verschieben. Die Navigation durch den Kalenderbereich des Widgets erfolgt über die Pfeiltasten. Der Wert, der aktuell den Fokus hat, wird von Screenreadern über das WAI-ARIA-Attribut aria-label ausgegeben. Die Schaltflächen „Zurück“, „Monat“, „Jahr“ und „Weiter“ sind über die Tab-Taste fokussierbar, wenn das Widget geöffnet ist. Die React-Datumsauswahl aktiviert derzeit nicht die Tastaturnavigation zum Link „Heute“.
In der Datumsauswahl-Komponente können Benutzer die Einfügemarke (den blinkenden Textcursor) zwischen verschiedenen Abschnitten des Datums (MM/TT/JJJJ) bewegen. Benutzer können jedoch keine einzelnen Ziffern innerhalb eines Abschnitts löschen. Durch Löschen einer Ziffer wird der gesamte Abschnitt (MM, TT oder JJJJ) gelöscht, sodass Benutzer ihn erneut eingeben müssen. Dieses Verhalten ist bei allen Datumskomponenten einheitlich, bei denen die Eingabe in der Eingabemaske formatiert wird, während ein Benutzer die Eingabe vornimmt.
Barrierefreiheit
Das Kontrastverhältnis von Textelementen zu ihrem Hintergrund liegt über 4,5:1 gemäß den Anforderungen der WCAG 2.1 AA. Nicht-textuelle Inhalte, die eine Bedeutung vermitteln müssen (z. B. Symbole und Sichtbarkeit des Tastaturfokus), weisen ein Kontrastverhältnis von mindestens 3:1 zu den angrenzenden Farben auf. Alle Inhalte sind bis einschließlich 400 % sichtbar und funktionsfähig, ohne dass ein Scrollen in zwei Dimensionen erforderlich ist.
Diese Komponente wurde validiert, um die Zugänglichkeitsrichtlinien WCAG 2.1 AA zu erfüllen. Vom Autor des Inhalts vorgenommene Änderungen können sich jedoch auf die Konformität mit der Barrierefreiheit auswirken.
Achten Sie bei der Verwendung dieser Komponente darauf, dass die Beschriftung eindeutig angibt, welches Datum der Benutzer eingeben oder auswählen muss.
Code
<DatePicker
label="Choose Date"
onChange={(event, value) =>
console.log('The date chosen is', value.day, value.month, value.year)
}
/>
Importanweisung
import { DatePicker } from '@jutro/components/new';
Komponentenvertrag
Vergewissern Sie sich, dass Sie die API-Oberfläche der Design System-Komponenten und die damit verbundenen Auswirkungen und Kompromisse verstehen. Erfahren Sie mehr in unserer Einführung zur Komponenten-API.
Eigenschaften
labelerforderlich
BeschreibungLabel associated with the input field, also passed as a default value to 'aria-label'.
className
BeschreibungCSS class name for this component.
disabled
BeschreibungIf set to true, the component is rendered in disabled state.
Typ'vshort' | 'short' | 'long' | 'abbreviated' | 'full'
displayOnly
BeschreibungIf set to true, displays the component value in plain text. Consider using readonly instead, if possible, because plain text is worse for accessibility than readonly inputs.
hideLabel
BeschreibungIf set to true, the label is not visible.
BeschreibungHides the Today button in the calendar.
initialValue
Typ{ day: number, month: number, year: number }
BeschreibungInitial value of the input. Value must be in object format with day, month, and year property where month is indexed from 1. If the value prop is specified along with this prop, this prop's value is discarded.
labelPosition
maxDate
Typ{ day: number, month: number, year: number }
BeschreibungMaximum allowed day value.
minDate
Typ{ day: number, month: number, year: number }
BeschreibungMinimum allowed day value.
onBlur
Typfunction (FocusEvent<HTMLInputElement>)
BeschreibungA callback called after the component is focused.
onChange
Typfunction (React.ChangeEvent<HTMLInputElement>, { day: number, month: number, year: number })
BeschreibungCallback invoked when component value is changed.
onFocus
Typfunction (FocusEvent<HTMLInputElement>)
BeschreibungA callback called after the component is focused.
placeholder
BeschreibungPlaceholder to display on an empty component.
readOnly
BeschreibungIf set to true, component is rendered in a read-only state. For values in plain text, consider using displayOnly.
required
BeschreibungIf set to true, the component is rendered as required and the label includes an asterisk.
secondaryLabel
BeschreibungSecondary label text to display.
stateMessages
BeschreibungAn object with a list of error messages for the current state.
Typ{ text: intlMessageShape, trigger: string } | intlMessageShapetext
BeschreibungText to show tooltip content.
trigger
BeschreibungThe trigger to show the tooltip.
BeschreibungText to be displayed in the tooltip or tooltip object that includes: text - to show tooltip content, trigger - to set tooltip trigger.
value
Typ{ day: number, month: number, year: number }
BeschreibungValue of the input. Takes precedence over initialValue. The value must be in object format with day, month, and year property where month is indexed from 1. If this prop is passed, the component works in a controlled mode and its value will change only if this prop changes.
Hooks
Für date picker sind keine Hooks verfügbar.
Übersetzungsschlüssel
Die Komponente date picker definiert die folgenden Übersetzungsschlüssel:
| Schlüssel | Verwendet für |
|---|
| jutro-components.fields.DatePicker.chooseDate | Der Beschriftungstext für das Eingabefeld. |
| jutro-components.fields.DatePicker.placeholderDay | Den „Tag“-Teil des Platzhalters. Muss aus zwei sich wiederholenden Zeichen bestehen. |
| jutro-components.fields.DatePicker.placeholderMonth | Der „Monat“-Teil des Platzhalters. Muss aus zwei sich wiederholenden Zeichen bestehen. |
| jutro-components.fields.DatePicker.placeholderYear | Der „Jahr“-Teil des Platzhalters. Muss aus vier sich wiederholenden Zeichen bestehen. |
date picker übernimmt auch die folgenden Übersetzungen:
| Schlüssel | Verwendet für |
|---|
| jutro-components.DateCalendar.previousMonth | Der Beschriftungstext für die Schaltfläche Vorheriger Monat. |
| jutro-components.DateCalendar.nextMonth | Der Beschriftungstext für die Schaltfläche zum nächsten Monat. |
| jutro-components.DateCalendar.currentDay | Der Beschriftungstext für die Schaltfläche zum aktuellen Datum. |
| jutro-components.DateCalendar.currentDayAriaLabel | Der Beschriftungstext für die Schaltfläche, um das aktuelle Datum als Wert auszuwählen. |
| jutro-components.MonthSkeleton.previousYear | Der Beschriftungstext für das vorherige Jahr. |
| jutro-components.MonthSkeleton.nextYear | Der Beschriftungstext für die Schaltfläche zum nächsten Jahr. |
| jutro-components.MonthSkeleton.currentMonth | Der Beschriftungstext für die Schaltfläche zum aktuellen Monat. |
| jutro-components.MonthSkeleton.currentMonthAriaLabel | Der Beschriftungstext für die Schaltfläche, um das aktuelle Jahr als Wert auszuwählen. |
| jutro-components.YearCalendar.previousYears | Die Beschriftung für die Schaltfläche für den vorherigen Jahresbereich. |
| jutro-components.YearCalendar.currentYear | Die Beschriftung für die Schaltfläche „Zum aktuellen Jahr gehen“. |
| jutro-components.YearCalendar.currentYearAriaLabel | Die Beschriftung für die Schaltfläche zur Auswahl des aktuellen Jahres als Wert. |
Das Datum wird entsprechend dem ausgewählten Gebietsschema formatiert. Ist das Gebietsschema zum Beispiel en-US, wird das Datum 20. Januar 2024 folgendermaßen formatiert: „01/20/2024“. Wenn das Gebietsschema en-GB ist, wird es als „20/01/2024“ formatiert.
Escape Hatches
Weitere Informationen finden Sie in unserer Dokumentation über Escape-Hatches.