Zeitraum für die Kalenderauswahl in Formularen setzen
Veröffentlichungsdatum: 07. Dezember 2018
Änderungsdatum: 01. Dezember 2025
weblication cms kalender calendar datum datumsauswahl date datepicker formular
Das Formular-Weblic® bietet diverse Möglichkeiten, die Kalenderauswahl innerhalb von Formularen zu beeinflussen.
- Allgemeine Möglichkeiten
- Angabe eines Datums
- Angaben abhängig von heute (today)
- Angaben abhängig vom letzten / ersten Tag des Monats
- Angaben abhängig vom Wert eines anderen Feldes
- Screenshots
- Weitere Optionen in BASE (Mobile First) Projekten
- Auswählbare Tage einschränken
- Zeitraum / Tage ausschliessen
- Beim Ändern auszuführendes JavaScript
- Screenshots
Allgemeine Möglichkeiten
In Formularen können Sie den auswählbaren Zeitraum des Kalender-Elementes festlegen. Die Felder für "Frühestes Datum" und "Spätestes Datum" bieten Ihnen folgende Möglichkeiten.
Angabe eines Datums
Angabe eines Datums im Format YYYY-MM-DD
z.B.: 1970-01-31
oder für ein Geburtsdatumsfeld weit genug zurück: 1900-01-01
Angaben abhängig von heute (today)
today (+/- x)
z.B.:
- today
(steht für den aktuellen Tag) - today-3
(drei Tage vom aktuellen Tag in die Vergangenheit) - today+2
(zwei Tage vom aktuellen Tag in die Zukunft) - today-2years
(zwei Jahre vom aktuellen Tag in die Vergangenheit)
(verfügbar ab CMS-Version 17 unter BASE (Mobile First)) - today+2years
(zwei Jahre vom aktuellen Tag in die Zukunft)
(verfügbar ab CMS-Version 17 unter BASE (Mobile First))
Angaben abhängig vom letzten / ersten Tag des Monats
lastDayOfMonth / firstDayOfNextMonth
(verfügbar ab CMS-Version 17 unter BASE (Mobile First))
- lastDayOfMonth
letzter Tag des aktuellen Monats - lastDayOfMonthIfGt-X
z.B. lastDayOfMonthIfGt-7 für letzten Tag des Monats, solange noch 7 Tage übrig sind, andernfalls letzter Tag des nächsten Monats - firstDayOfMonth
erster Tag des aktuellen Monats - firstDayOfNextMonth
erster Tag des Folgemonats - firstDayOfNextMonthIfGt-X
z.B. firstDayOfNextMonthIfGt-7 für ersten Tag des Folgemonats, solange noch 7 Tage übrig sind, ndernfalls erster Tag des übernächsten Monats
Angaben abhängig vom Wert eines anderen Feldes
$inputFrom
z.B. > $anreise
Ab CMS-Version 012.007.023.000 können Sie damit z.B. bei einem Anreise- und Abreise-Datumsfeld dafür sorgen, daß das Abreise-Datum nicht kleiner als das Anreise-Datum gewählt werden kann.
(z.B. anreise: 2018-06-04 erlaubt so beim abreise-Feld die Datumsauswahl erst ab 2018-06-05)
Screenshots
Die folgenden Screenshots zeigen Ihnen auf Grundlage dieser Beispiele die Darstellung in der Bearbeitung und in der Ausgabe.
Weitere Optionen in BASE (Mobile First) Projekten
Das Formular-Weblic® in BASE (Mobile First) Projekten bietet unter anderem folgende zusätzliche Möglichkeiten im Kalender-Element.
Auswählbare Tage einschränken
Hier können Sie zwischen folgenden Möglichkeiten wählen:
- Keine Einschränkung
- Montag bis Samstag
- Nur Werktage
Zeitraum / Tage ausschliessen
Das Formular-Weblic® in BASE (Mobile First) Projekten bietet unter anderem folgende zusätzliche Möglichkeiten im Kalender-Element:
- Auswählbare Tage einschränken
Hier können Sie zwischen folgenden Möglichkeiten wählen:- Keine Einschränkung
- Montag bis Samstag
- Nur Werktage
- Folgende Tage sind nicht auswählbar
In diesem Feld können Sie die Tage eintragen, welche in der Kalenderauswahl nicht auswählbar sein sollen (z.B. Feiertage).
Ab CMS-Version 017.006.158.000 und aktuellem Formular-Weblic® ist folgende Angabe möglich:
weekday(3),weekday(1, "YYYY-05-01,YYYY-05-08"),YYYY-05-02weekday(3) bedeutet, dass keine Mittwoche ausgewählt werden können.
weekday(1, "YYYY-05-01,YYYY-05-08") bedeutet, dass keine Montage außer der 1. und 8. Mai ausgewählt werden können.
Ab CMS-Version 020.002.047.000 und aktuellem Formular-Weblic® ist folgende Angabe möglich:
monthday(2-31) oder monthday(1),monthday(15),monthday(30)
monthday(2-31) bedeutet, dass nur der 1. eines Monats ausgewählt werden kann.
monthday(1),monthday(15),monthday(30) bedeutet, dass der 1., 15. und 30. eines Monats nicht auswählbar sind.
Ab CMS-Version 018 und aktuellem Formular-Weblic® ist folgende Angabe möglich, um einen Zeitraum ausschliessen zu können:
yyyy-mm-dd-yyyy-mm-dd
z.B. 2023-07-20-2023-07-31
Ab CMS-Version 018.009.026.000 und aktuellem Formular-Weblic® ist folgende Angabe möglich, um spezielle Tage auszuschliessen (z.B. die ersten drei Tage im Monat):
YYYY-MM(+1)-01,YYYY-MM(+1)-02,YYYY-MM(+1)-03
Beim Ändern auszuführendes JavaScript
Ab Weblication® CMS Version 19 und aktuellem Formular-Weblic® kann für die Datumsauswahl (datepicker) auszuführendes JavaScript beim Ändern des Feldes definiert werden. Dies kann z.B. dafür genutzt werden, um das bis-Datum nur maximal 5 Tage nach dem von-Datum wählen zu können.
let startDate = jQuery(this).datepicker('getDate');
let maxEndDate = new Date(startDate);
maxEndDate.setDate(maxEndDate.getDate() + 3);
jQuery('#end').datepicker('option', 'minDate', startDate);
jQuery('#end').datepicker('option', 'maxDate', maxEndDate);
jQuery('#end').val('');Screenshots
- Wie kann ich den auswählbaren Zeitraum im Kalender-Element eines Formulars festlegen?
- Im Formular können Sie den Zeitraum der Kalenderauswahl über die Felder **"Frühestes Datum"** und **"Spätestes Datum"** festlegen. So steuern Sie, welche Datumswerte auswählbar sind.
- Wie kann ich für den Kalender ein fixes frühestes und spätestes Datum vorgeben?
- Sie können ein **Datum im Format YYYY-MM-DD** angeben, z.B. **1970-01-31**. Für Geburtsdatumsfelder können Sie ggf. **weit genug zurück** gehen, z.B. **1900-01-01**.
- Wie funktioniert die Angabe der Grenzen relativ zum aktuellen Tag (today) in der Kalenderauswahl?
- Sie können **today (+/- x)** verwenden, z.B.: - **today** (aktueller Tag) - **today-3** (3 Tage zurück) - **today+2** (2 Tage in die Zukunft) Zusätzlich: **today +/- x years** (z.B. **today-2years** oder **today+2years**) ist **ab CMS-Version 17** unter **BASE (Mobile First)** verfügbar.
- Wie kann ich Kalendergrenzen abhängig vom Monatsanfang bzw. Monatsende setzen?
- Sie können Ausdrücke verwenden wie: - **lastDayOfMonth** (letzter Tag des aktuellen Monats) - **lastDayOfMonthIfGt-X** (letzter Tag des nächsten Monats, sobald weniger als X Tage übrig sind) - **firstDayOfMonth** (erster Tag des aktuellen Monats) - **firstDayOfNextMonth** (erster Tag des Folgemonats) - **firstDayOfNextMonthIfGt-X** (erster Tag des übernächsten Monats, sobald weniger als X Tage übrig sind) Verfügbar **ab CMS-Version 17** unter **BASE (Mobile First)**.
- Wie kann ich die auswählbaren Daten von einem anderen Datumsfeld abhängig machen?
- Über **$inputFrom** können Sie die Auswahl eines Feldes an einen anderen Wert koppeln. Beispiel: Mit **$inputFrom > $anreise** kann verhindert werden, dass das **Abreise-Datum** kleiner als das **Anreise-Datum** ist. Beispiel aus der Doku: Wenn **anreise = 2018-06-04**, ist **abreise** erst **ab 2018-06-05** auswählbar.
- Welche Zusatzoptionen gibt es für die Kalenderauswahl in BASE (Mobile First) Projekten?
- In BASE (Mobile First) Projekten bietet das Formular-Weblic® zusätzlich u.a.: - **auswählbare Tage einschränken** (z.B. nur Werktage) - **Zeitraum / Tage ausschließen** (bestimmte Tage nicht auswählbar) - **beim Ändern auszuführendes JavaScript** (z.B. Grenzen für das bis-Datum setzen)
- Kann ich in BASE die auswählbaren Wochentage einschränken?
- Ja. Sie können im Kalender-Element wählen, welche Tage auswählbar sind: - **Keine Einschränkung** - **Montag bis Samstag** - **Nur Werktage**
- Wie kann ich in BASE bestimmte Tage/Zeiträume von der Auswahl ausschließen?
- Sie können Tage, die nicht auswählbar sein sollen, im Feld **"Zeitraum / Tage ausschliessen"** bzw. mit passenden Formaten definieren. Beispiele (je nach CMS-Version): - **weekday(...)** zum Ausschließen bestimmter Wochentage (z.B. keine Mittwoche) - **monthday(...)** zum Aus- bzw. Einschließen von Monatstagen - **yyyy-mm-dd-yyyy-mm-dd** zum Ausschließen eines Zeitraums - **YYYY-MM(+1)-...** zum Ausschließen spezieller Tage in einem Monat
- Wie funktioniert das Ausschließen von Wochentagen mit weekday(...) (BASE)?
- Mit **weekday(...)** können Sie Wochentage ausschließen (Verfügbarkeit ab **CMS-Version 017.006.158.000**). Beispiele: - **weekday(3)** bedeutet: **keine Mittwoche** auswählbar. - **weekday(1, "YYYY-05-01,YYYY-05-08")** bedeutet: **keine Montage**, außer der **1.** und **8. Mai** auswählbar.
- Wie kann ich mit monthday(...) Tage im Monat ausschließen bzw. steuern?
- Mit **monthday(...)** (ab **CMS-Version 020.002.047.000**): - **monthday(2-31)** bedeutet: **nur der 1. eines Monats** ist auswählbar. - **monthday(1),monthday(15),monthday(30)** bedeutet: der **1., 15. und 30.** eines Monats sind **nicht auswählbar**.
- Wie kann ich in aktuellen Versionen einen Zeitraum (von-bis) von der Kalenderauswahl ausschließen?
- Ab **CMS-Version 018** können Sie Zeiträume ausschließen mit dem Format: **yyyy-mm-dd-yyyy-mm-dd** Beispiel: **2023-07-20-2023-07-31**.
- Wie kann ich ab CMS-Version 018.009.026.000 spezielle Tage im Monat ausschließen (z.B. erste drei Tage)?
- Ab **CMS-Version 018.009.026.000** ist z.B. möglich, die ersten Tage im Monat auszuschließen. Beispiel laut Doku: **YYYY-MM(+1)-01,YYYY-MM(+1)-02,YYYY-MM(+1)-03** (damit würden diese Tage nicht auswählbar sein).
- Wie kann ich beim Ändern der Datumsauswahl JavaScript ausführen?
- Ab **Weblication® CMS Version 19** kann beim Ändern des Datumsfelds für den **datepicker** JavaScript ausgeführt werden. Beispielziel: Das **bis-Datum** soll nur maximal wenige Tage nach dem **von-Datum** wählbar sein (z.B. +3 Tage). Der Code setzt dabei u.a. **minDate** und **maxDate** für das Enddatum und löscht bei Bedarf den Wert.
- Wofür kann das JavaScript-Beispiel zur Datumseinschränkung praktisch genutzt werden?
- Zum Beispiel, um sicherzustellen, dass das **Enddatum** höchstens **ein bestimmtes Zeitfenster** nach dem **Startdatum** liegt (z.B. maximal 5 Tage nach dem von-Datum, je nach Anpassung des Codes).