Wie schaffe ich es, dass die Kalenderfunktion eine Warnmeldung ausgibt, wenn ein Benutzer ein Datum eingibt, welches schon in der Vergangenheit liegt(MM-DD-YYYY)?
Dazu haben Sie 2 Möglichkeiten:
1. Downloaden Sie sich hier bitte die fertige Validierungsfunktion herunter: download
Anschließend entpacken Sie die Datei und installieren die XML Datei mit dem Breezingforms Package Installer (Breezingforms Konfiguration). Danach steht Ihnen die Funktion wie gewohnt als Validierung in der Bibliothek zur Verfügung.
Bitte stellen Sie sicher dass das Datumsformat in Ihrem Kalenderelement folgendermaßen aussieht:
%m-%d-%Y
2. Sie können aber auch folgenden Code direkt als Custom Validierung in Ihrem Element benutzen:
function ff_CALENDARITEMNAME_validation(element, message) { if(element.value.split("-").length != 3){return message == '' ? element.name+" faild in my test.n" : message} var vDate = new Date(Number( element.value.split("-")[2]),Number(element.value.split("-")[0]-1),Number(element.value.split("-")[1]),0,0,0).getTime(); var today = new Date(); today.setHours(0); today.setMinutes(0); today.setSeconds(0); today.setMilliseconds(0); today = today.getTime(); if(vDate < today) { if (message=='') message = element.name+" faild in my test.n"; return message; } return ''; }
Auch dieses Beispiel benötigt als Datumsformat obige definition (MM-DD-YYYY). Wenn Sie aber ein anderes Trennzeichen benötigen wie z.B. "/" anstatt "-" dann muss der Code leicht geändert werden. Das wäre dann :
function ff_CALENDARITEMNAME_validation(element, message) { if(element.value.split("/").length != 3){return message == '' ? element.name+" faild in my test.n" : message} var vDate = new Date(Number( element.value.split("/")[2]),Number(element.value.split("/")[0]-1),Number(element.value.split("/")[1]),0,0,0).getTime(); var today = new Date(); today.setHours(0); today.setMinutes(0); today.setSeconds(0); today.setMilliseconds(0); today = today.getTime(); if(vDate < today) { if (message=='') message = element.name+" faild in my test.n"; return message; } return ''; }
Bitte denken Sie daran das in dem Code noch CALENDARITEMNAME mit dem echten Namen Ihres Elementes ersetzt werden muss.