ユーザーに XPages の変更を保存するようプロンプトを出す

変更されたフィールドが含まれるページを閉じるアクションをユーザーが要求したときに、XPage アプリケーションがユーザーにどのようにプロンプトを出すかを制御できます。

このタスクについて

XPage またはカスタムコントロールに編集可能なコントロールが含まれる場合は、2 つのプロパティを設定することにより、変更されたコントロールについてアプリケーションがユーザーにどのようにプロンプトを出すかを指定できます。 これらのプロパティは 2 つのレベル、つまり XPage またはカスタムコントロールのレベルと、コアコントロールのレベルに存在します。 ある特定の XPage またはカスタムコントロールに関する変更通知を有効または無効にする場合は、enableModifiedFlag プロパティが絶対的に優先されます。 このプロパティ値を true に設定した場合、ユーザーは XPage またはカスタムコントロール内でサポートされるすべてのコアコントロールに対する変更について通知されます。ただし、コアコントロールの disableModifiedFlag プロパティ値を明示的に true に設定した場合は除きます。 XPage またはカスタムコントロールの enableModifiedFlag を設定しないか、この値を明示的に false に設定して、さらに 1 つ以上のコアコントロールの disableModifiedFlag プロパティ値を false に設定した場合、ユーザーには変更が通知されなくなります。これは、enableModifiedFlag プロパティが優先されるためです。
この機能は、次のコアコントロールでサポートされます。
  • 編集ボックス
  • 複数行入力域ボックス
  • リストボックス
  • コンボボックス
  • チェックボックス
  • ラジオボタン
  • ファイルのアップロード
  • 日時ピッカー
  • リッチテキストエディタ

ユーザーが現在のページの変更を保存しないことを選択した場合は、要求されたアクション (ページを閉じる、ページから離れてブラウザ内をナビゲートする、など) を実行できます。 ユーザーが変更を保存することを選択した場合は、ページを保存する前に、関連するフィールドが検証されます。 この検証は、最初にクライアントで実行され、次にサーバーで実行されます。 現在のページのフィールドに関するクライアントサイド検証が成功した場合のみ、サーバーサイド検証を実行できます。 サーバーサイド検証が失敗した場合、ユーザーには、問題のフィールドが含まれる現在のページが示され、フィールド内容を修正する機会が与えられます。 サーバーサイド検証が成功すると、要求されたアクションを実行できます。