スクリプトを使用した日付の検証

日付の検証スニペットでは、ユーザーが入力した日付範囲に基づく日付の検証方法を示します。

この例では、ユーザーがカレンダーから日付を選択します。次に、指定された日付を有効と見なす日付範囲を指定します。指定された日付と日付範囲がフォームによって比較され、指定された年、月および日が有効かどうかがレポートされます。

「検証」ボタンにスクリプトを追加するには

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");

同様の例については、LiveCycle デベロッパーセンターを参照してください。