ClassicSidebar Layout

DatePicker

Datum- und Zeitauswahl mit Flatpickr – als Datepicker, Timepicker und DateTimepicker, mit Min/Max, ReadOnly, Clear-Icon, AfterValueChanged, AutoSaveCallback und Validierung.

Typen

Drei Betriebsmodi: Datepicker (nur Datum), Timepicker (nur Uhrzeit) und Datetimpicker (Datum + Uhrzeit kombiniert).

Datepicker
Wert:
Timepicker
Wert:
Datetimpicker
Wert:

Zustände

ReadOnly: Wert ist sichtbar, aber nicht editierbar – gestrichelter Rahmen, normaler Text.
ShowClearIcon / ShowDatepickerIcon: Icons können einzeln ein- oder ausgeblendet werden.


ReadOnly
ReadOnly (leer)
Ohne Clear-Icon
Ohne Kalender-Icon

Min / Max

MinDate und MaxDate begrenzen den auswählbaren Bereich im Kalender.

Nur diese Woche
Wert:
Nur Vergangenheit
Wert:

AfterValueChanged

AfterValueChanged wird nach jeder Wertänderung ausgelöst – ideal für reaktive Logik ohne Two-Way-Binding.

AfterValueChanged
Änderungen:

AutoSaveCallback

AutoSaveCallback wird nach jeder Wertänderung ausgelöst – standardmäßig nur wenn das Feld gültig ist (TriggerAutoSaveCallbackOnlyIfValid).

Nur bei gültigem Wert
Gespeichert:
Immer speichern
Gespeichert:

CustomValidationMethod

Eigene Validierungslogik ohne DataAnnotations – direkt als Func<TValue, bool>.

Nur Wochentage
Nur Zukunft

Validierung mit DataAnnotations

Integration in EditContext via Form-Komponente und DataAnnotationsValidator. ShowValidationTooltip zeigt Fehlermeldungen inline.

Size

Alle fünf Größen von Xs bis Xl – alle Felder teilen denselben Bindewert.

Xs
Sm
Md (Standard)
Lg
Xl
Aktueller Wert

class & style

Beliebige HTML-Attribute (class, style, data-*, aria-*) werden an den Input-Wrapper durchgereicht.

class
style
SKILL.md – Datepicker
---
name: DatePicker
description: Onesown Blazor Komponente DatePicker (Inputs). Verwende diesen Skill wenn du die DatePicker-Komponente verwenden, konfigurieren oder debuggen moechtest.
---

# DatePicker

**Namespace:** `Onesown.Blazor.Components`  
**Kategorie:** Inputs  
**Basisklasse:** `FormControlBase`  
**Generisch:** Ja (`DatePicker<TItem>` o.ae.)  

Generisches Datums-/Zeit-Eingabefeld auf Basis von Flatpickr (Locale de). Unterstützt Datepicker, Timepicker und kombinierten Datetime-Picker mit konfigurierbarem Anzeigeformat und Min/Max-Grenzen.

**Live-Demo:** https://components.schini.com/demo/datepicker  

## Parameter

| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
| ``Readonly`` | ``bool`` |  | Setzt das Feld in den Nur-Lesen-Modus: Kalender kann nicht geöffnet werden, Wert nicht änderbar. |
| ``ShowClearIcon`` | ``bool`` | ``true`` | Zeigt ein X-Symbol zum Zurücksetzen des Datumswerts. Standard: true. |
| ``ShowDatepickerIcon`` | ``bool`` | ``true`` | Zeigt das Kalender-Icon zum Öffnen des Pickers. Standard: true. |
| ``DisplayFormat`` | ``string`` |  | Anzeigeformat für das Datum im Eingabefeld. Folgt Flatpickr-Formatierung (z.B. "d.m.Y"). Standard: abhängig vom Typ. |
| ``Typ`` | ``DatepickerTypen`` | ``DatepickerTypen.Datepicker`` | Art des Pickers. Mögliche Werte: Datepicker (Standard), Timepicker (nur Uhrzeit), Datetimpicker (Datum + Uhrzeit). |
| ``DatepickerIconTemplate`` | ``RenderFragment`` |  | Benutzerdefiniertes Template für das Kalender-Icon (ersetzt Standard-Icon). |
| ``ClearIconTemplate`` | ``RenderFragment`` |  | Benutzerdefiniertes Template für das Clear-Icon (ersetzt Standard-X). |
| ``ValueChanged`` | ``EventCallback<TValue>`` |  | EventCallback für Two-Way-Binding mit @bind-Value. Wird nach jeder Datumsauswahl ausgelöst. |
| ``ValueExpression`` | ``Expression<Func<object>>`` |  | LINQ-Expression auf die gebundene Model-Property. Wird benötigt für DataAnnotations-Validierung und Label. |
| ``Value`` | ``TValue`` |  | Aktuell gebundener Datumswert (DateTime oder DateTime?). |
| ``MaxDate`` | ``DateTime?`` |  | Maximales auswählbares Datum. Tage nach diesem Datum werden im Kalender deaktiviert. |
| ``MinDate`` | ``DateTime?`` |  | Minimales auswählbares Datum. Tage vor diesem Datum werden im Kalender deaktiviert. |
| ``CustomValidationMethod`` | ``Func<TValue, bool>`` |  | Optionale zusätzliche Validierungsfunktion. Gibt true zurück wenn der Wert gültig ist, false wenn nicht. |

## Geerbte Parameter (FormControlBase)

| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
| ``Size`` | ``string`` | ``OoSize.Md`` | Größe der Komponente. Mögliche Werte: OoSize.Xs, OoSize.Sm, OoSize.Md, OoSize.Lg, OoSize.Xl. Wird als CSS-Klasse am Root-Element gesetzt. |
| ``Id`` | ``string`` | ``Generator.GenerateRandomHtmlTagID()`` | Eindeutige HTML-ID des Input-Elements. Wird automatisch generiert und kann überschrieben werden (z. B. für Labels mit for-Attribut). |
| ``ShowLabel`` | ``bool`` | ``true`` | Blendet das Label über dem Eingabefeld ein oder aus. Standard: true. |
| ``IsFloatingLabel`` | ``bool`` | ``true`` | Aktiviert das schwebende Label (Floating Label), das beim Fokus oder bei Eingabe nach oben animiert. Standard: true. |
| ``Label`` | ``string`` |  | Beschriftung des Eingabefelds. Wird auch als Accessible-Name für Screenreader verwendet. |
| ``Placeholder`` | ``string`` | ``" "`` | Platzhaltertext im leeren Eingabefeld. Standard: Leerzeichen (verhindert Floating-Label-Sprung in Chrome). |
| ``AutoSaveCallback`` | ``EventCallback`` |  | Wird nach jeder Wertänderung ausgelöst und signalisiert der Seite, dass gespeichert werden soll. Kombinierbar mit TriggerAutoSaveCallbackOnlyIfValid. |
| ``TriggerAutoSaveCallbackOnlyIfValid`` | ``bool`` | ``true`` | Steuert ob AutoSaveCallback nur bei gültigem Wert ausgelöst wird. Standard: true. |
| ``AfterValueChanged`` | ``EventCallback`` |  | Wird nach jeder Wertänderung ausgelöst, unabhängig von der Gültigkeit des Werts. Geeignet für Live-Vorschau oder Seiteneffekte. |
| ``ShowValidationTooltip`` | ``bool`` | ``false`` | Zeigt Validierungsmeldungen als Tooltip neben dem Feld statt als Text darunter. Standard: false. |

## Hinweise

- Immer @bind-Value für Two-Way-Binding verwenden
- Für Formular-Validierung ValueExpression="() => _model.Property" setzen
- Komponente muss innerhalb eines &lt;Form&gt;- oder &lt;EditForm&gt;-Containers liegen, damit der EditContext greift
- AutoSaveCallback wird nach jeder gültigen Änderung ausgelöst, wenn TriggerAutoSaveCallbackOnlyIfValid=true (Standard)
- AfterValueChanged wird nach jeder Änderung ausgelöst, unabhängig von der Gültigkeit
- ShowValidationTooltip=true zeigt Validierungsmeldungen als Tooltip statt unter dem Feld
- TValue: DateTime oder DateTime? – nullable wird für optionale Felder empfohlen
- Typ wechseln: Typ="DatepickerTypen.Timepicker" für reine Zeitauswahl, Typ="DatepickerTypen.Datetimpicker" für Datum+Zeit
- Anzeigeformat: DisplayFormat folgt Flatpickr-Formatierung (z.B. "d.m.Y" für deutsches Datum)
- Min/MaxDate: MinDate und MaxDate begrenzen den auswählbaren Bereich
- Clear-Icon: ShowClearIcon="true" (Standard) zeigt X zum Zurücksetzen; eigenes Template via ClearIconTemplate
- Eigenes Kalender-Icon: DatepickerIconTemplate ersetzt das Standard-Kalender-Symbol


Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.