Überprüfen eines Datums mit Hilfe eines Skripts

Anhand des Formularbausteins „Überprüfen eines Datums“ wird demonstriert, wie Sie eine Datumsprüfung für einen vom Benutzer einzugebenden Prüfbereich durchführen.

In diesem Beispiel wählt der Benutzer ein Datum aus dem Kalender aus und definiert Anfangs- und Enddaten, die dann mit dem ausgewählten Datum abgeglichen werden. Das Formular vergleicht das ausgewählte Datum mit dem Prüfbereich und zeigt eine Meldung bzgl. der Gültigkeit von Jahr, Monat und Tag an.

So fügen Sie der Schaltfläche „Prüfen“ Skript hinzu

form1.#subform[0].Button1::click - (JavaScript, client) 
Status.clearItems(); //Clear the status listbox. 
 
// Create a date() for parsing information. 
var sDate = Date.rawValue; 
var oDate = util.scand("yyyy-mm-dd", sDate); 
if(oDate == null) 
{ 
    xfa.host.messageBox("Pleae enter a valid date."); 
    exit; 
} 
     
// Store date values. 
var nYear = oDate.getFullYear(); 
var nMonth = oDate.getMonth() + 1;  // 0 based 
var nDay = oDate.getDate(); 
 
// Validation flags. 
var bStartYear = false; 
var bEndYear = false; 
var bStartMonth = false; 
var bEndMonth = false; 
var bStartDay = false; 
var bEndDay = false; 
 
// Validate the year range. 
if((StartYear.rawValue == null) || (StartYear.rawValue <= nYear)) 
    bStartYear = true; 
if((EndYear.rawValue == null) || (EndYear.rawValue >= nYear)) 
    bEndYear = true; 
if(bStartYear && bEndYear) 
    Status.addItem("valid year"); 
else 
    Status.addItem("invalid year"); 
     
// Validate the month range. 
if((StartMonth.rawValue == null) || (StartMonth.rawValue <= nMonth)) 
    bStartMonth = true; 
if((EndMonth.rawValue == null) || (EndMonth.rawValue >= nMonth)) 
    bEndMonth = true; 
if(bStartMonth && bEndMonth) 
    Status.addItem("valid month"); 
else 
    Status.addItem("invalid month"); 
 
// Validate the day range. 
if((StartDay.rawValue == null) || (StartDay.rawValue <= nDay)) 
    bStartDay = true; 
if((EndDay.rawValue == null) || (EndDay.rawValue >= nDay)) 
    bEndDay = true; 
if(bStartDay && bEndDay) 
    Status.addItem("valid day"); 
else 
    Status.addItem("invalid day");

Weitere ähnliche Beispiele finden Sie im AEM forms Developer Center .