1

full calendarを使用してxpagesアプリケーションを構築し、カレンダーにデータを表示できるようになりました。しかし、送信されたフィールドのいずれかが空白のままになると、カレンダーページが強制終了され、上記の例外エラーが返されます。送信されたフィールドに空白がない場合、カレンダーはうまく開きます。Xpages - NotesDocument.getItemValueDateTimeArray(string)を呼び出す際に例外が発生しました

すべてのフィールドが入力されていることを確認するために、フォームの検証を使用してこの問題を解決できましたが、これによってユーザーが制限され、これを避けたいと考えています。

は以下のエラーを返すコードです:

try { 
    var calendarDate:NotesDateTime; 
    try{ 
    calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0);//error coming from here when it is null 
    }catch(e){ 
     print("Meeting date null error: " + e.toString()); 
     return calendarDate; 
    } 
    if(calDate != null){ 
     var today:NotesDateTime = session.createDateTime("Today"); 

     if (calDate != null && calDate.timeDifference(today) > 0) { 
      try{ 
       var calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0); 
      } catch(e) { 
       print("calendar error: " + e.toString()); 
      } 
     } 
    } 
    }catch(e){ 
     print("Calendar error: " + e.toString()); 
     return calendarDate; 
    } 

は、私はまた、ページの殺害を停止するのtry/catchを使用してみましたが、それはどちらか動作するようには思えません。

var calendarDate:NotesDateTime;がnullであるかどうかを確認するために使用できるロジックはありますか?

多くのありがとうございます。

私はのXPagesを使用していないが、elementAtメソッドを実行しようとするとエラーが発生するので、私はこのような何かが働くだろうと思っているだろう

答えて

3

テストの持つ文書がアイテムを持っている場合は、「MeetingDate」少なくとも1つの要素:

var calDate:NotesDateTime; 
if (!docEv.getItemValue("MeetingDate").isEmpty()) { 
    calDate = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0); 
    ... 
} 
+0

フィールドに少なくともgetItemValue()を使用する要素があるかどうかを確認してください。あなたの助けをくれてありがとうKnut。 –

+0

その時点では、getItemValueによって返された同じListを使用することもできます。日付/時刻フィールドの場合、要素はすでにDateTimesになり、hoは2番目の呼び出しを保存できます。 –

0

if (docEv.getItemValueDateTimeArray("MeetingDate") == null) { 
    calDate:NotesDateTime = null; 
} else { 
    calDate:NotesDateTime = docEv.getItemValueDateTimeArray("MeetingDate").elementAt(0); 
} 
関連する問題