DateTimePicker
Nativer Datums-/Zeit-Picker ohne externe Abhängigkeiten. Unterstützt Datum, Uhrzeit und Datum+Uhrzeit.
Datums-Picker (Standard)
Typ="DateTimePickerTyp.Datum" – Datumsauswahl über eigenes Kalender-Popup. Manuelle Eingabe als TT.MM.JJJJ möglich.Wert: –
Zeit-Picker
Typ="DateTimePickerTyp.Zeit" – reine Uhrzeitauswahl mit ▲/▼. Manuelle Eingabe als HH:mm möglich. Popup-Breite passt sich an.Wert: –
Datum + Uhrzeit
Typ="DateTimePickerTyp.DatumUndZeit" – Kalender + Zeitauswahl, OK bestätigt. Manuelle Eingabe als TT.MM.JJJJ HH:mm möglich.Wert: –
Min / Max Grenzen
MinDate und MaxDate schränken den auswählbaren Bereich ein. Jahres- und Monats-Dropdown zeigen nur erlaubte Werte.Wert: –
Popup bei Fokus öffnen
OpenOnFocus="true" – Kalender öffnet sich automatisch sobald das Feld den Fokus erhält (z.B. per Tab oder Klick). Das Eingabefeld zeigt dabei den normalen Zeiger-Cursor.
Wert: –
Jahres-Dropdown einschränken
MinYear und MaxYear begrenzen die Auswahl im Jahres-Dropdown unabhängig von MinDate/MaxDate – z.B. für Geburtstagseingaben oder Buchungszeiträume.
Wert: –
Readonly
Readonly="true" – Feld kann nicht verändert werden, Clear-Icon wird ausgeblendet.Ohne Icons
ShowClearIcon="false" ShowPickerIcon="false" – minimale Darstellung ohne Icons.Wert: –
Validierung
Pflichtfeld-Validierung mitShowValidationTooltip.
SKILL.md – Datetimepicker
--- name: DateTimePicker description: Onesown Blazor Komponente DateTimePicker (Inputs). Verwende diesen Skill wenn du die DateTimePicker-Komponente verwenden, konfigurieren oder debuggen moechtest. --- # DateTimePicker **Namespace:** `Onesown.Blazor.Components` **Kategorie:** Inputs **Basisklasse:** `FormControlBase` **Generisch:** Ja (`DateTimePicker<TItem>` o.ae.) Datums-/Zeit-Eingabefeld mit eigenem Kalender-Popup – vollständig in Blazor implementiert, ohne externe Abhängigkeiten (kein Flatpickr, kein JavaScript). Unterstützt Datum, Uhrzeit und kombinierten Datum+Uhrzeit-Picker. Manuelle Eingabe mit automatischer Maskierung möglich. **Live-Demo:** https://components.schini.com/demo/datetimepicker ## Parameter | Parameter | Typ | Standard | Beschreibung | |---|---|---|---| | ``Typ`` | ``DateTimePickerTyp`` | ``DateTimePickerTyp.Datum`` | Art des Pickers. Mögliche Werte: Datum (Standard), Zeit (nur Uhrzeit), DatumUndZeit (Datum + Uhrzeit). | | ``Value`` | ``TValue`` | | Aktuell gebundener Wert (DateTime oder DateTime?). | | ``ValueChanged`` | ``EventCallback<TValue>`` | | EventCallback für Two-Way-Binding mit @bind-Value. Wird nach jeder Auswahl ausgelöst. | | ``ValueExpression`` | ``Expression<Func<object>>`` | | LINQ-Expression auf die gebundene Model-Property. Wird benötigt für DataAnnotations-Validierung und Label-Zuordnung. | | ``MinDate`` | ``DateTime?`` | | Minimales auswählbares Datum. Tage vor diesem Datum werden im Kalender deaktiviert. | | ``MaxDate`` | ``DateTime?`` | | Maximales auswählbares Datum. Tage nach diesem Datum werden im Kalender deaktiviert. | | ``Readonly`` | ``bool`` | | Setzt das Feld in den Nur-Lesen-Modus: Popup kann nicht geöffnet werden, Wert nicht änderbar. | | ``ShowClearIcon`` | ``bool`` | ``true`` | Zeigt ein X-Symbol zum Zurücksetzen des Werts. Standard: true. | | ``ShowPickerIcon`` | ``bool`` | ``true`` | Zeigt das Picker-Icon (Kalender oder Uhr) rechts im Feld. Standard: true. | | ``PickerIconTemplate`` | ``RenderFragment`` | | Benutzerdefiniertes Template für das Picker-Icon (ersetzt Standard-Icon). | | ``ClearIconTemplate`` | ``RenderFragment`` | | Benutzerdefiniertes Template für das Clear-Icon (ersetzt Standard-X). | | ``CustomValidationMethod`` | ``Func<TValue, bool>`` | | Optionale zusätzliche Validierungsfunktion. Gibt true zurück wenn der Wert gültig ist, false wenn nicht. | | ``OpenOnFocus`` | ``bool`` | ``false`` | Popup automatisch öffnen sobald das Eingabefeld den Fokus erhält. Standard: false. | | ``MinYear`` | ``int?`` | | Frühestes Jahr im Jahres-Dropdown. Standardmäßig 100 Jahre vor heute. Wird automatisch aus MinDate abgeleitet wenn nicht gesetzt. | | ``MaxYear`` | ``int?`` | | Spätestes Jahr im Jahres-Dropdown. Standardmäßig 20 Jahre nach heute. Wird automatisch aus MaxDate abgeleitet wenn nicht gesetzt. | ## 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 <Form>- oder <EditForm>-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="DateTimePickerTyp.Datum" (Standard): nur Datumsauswahl, Popup schließt nach Tag-Klick - Typ="DateTimePickerTyp.Zeit": nur Uhrzeitauswahl mit ▲/▼ Stunden/Minuten - Typ="DateTimePickerTyp.DatumUndZeit": Datum + Uhrzeit, Popup schließt nach OK - MinDate / MaxDate: begrenzen den auswählbaren Bereich - ShowClearIcon="true" (Standard): X-Icon zum Zurücksetzen des Werts - ShowPickerIcon="true" (Standard): Kalender- bzw. Uhr-Icon rechts im Eingabefeld - Readonly="true": Feld und Popup deaktiviert - Manuelle Eingabe: maskiert, nur Ziffern erlaubt, Trennzeichen (. oder :) kommen automatisch