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.

 

 

 

Angebot

Sommer Special! Alle Mitgliedschaften zum Sonderpreis!

Prio Support, alle Extensions und alle Templates in einem Paket.

Hier geht's zur Bestellung

Crosstec hilft sparen!

Falls Sie neu bei Crosstec sind aber bereits einen Formulargenerator bei einem anderen Hersteller gekauft haben, dann bekommen sie von uns einen Rabatt von 25% auf unsere 1-Jahres und Pro-Mitgliedschaften

Wie Sie an den Rabatt kommen?

Schreiben Sie uns einfach eine kurze Email mit beigelegten Kaufbeleg (z.B. PayPal Quittung) an sales@crosstec.org.

Wir unterstützen die Joomla Community

Crosstec unterstützt weltweit alle offiziellen Joomla! User Groups und Organisatoren von Joomla! Days die bei Joomla.org registriert sind.

Falls das auf dich zutrifft und du eines unserer Produkte brauchst, schreib uns eine kurze Email an info@crosstec.org und du bekommst eine Flatrate-Mitgliedschaft geschenkt!