Validação de uma data usando um script

O trecho Validar uma data demonstra como validar uma data com base em um intervalo de datas inserido pelo usuário.

Neste exemplo, o usuário seleciona uma data em um calendário e especifica as datas de início e de término para validar a data especificada. O formulário compara a data especificada com o intervalo de datas e reporta se o ano, o mês e o dia especificados são válidos.

Para adicionar script ao botão Validar

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

Para ver exemplos parecidos, visite o LiveCycle Developer Center.