変更されたフィールドが含まれるページを閉じるアクションをユーザーが要求したときに、XPage アプリケーションがユーザーにどのようにプロンプトを出すかを制御できます。
このタスクについて
XPage またはカスタムコントロールに編集可能なコントロールが含まれる場合は、2 つのプロパティを設定することにより、変更されたコントロールについてアプリケーションがユーザーにどのようにプロンプトを出すかを指定できます。 これらのプロパティは 2 つのレベル、つまり XPage またはカスタムコントロールのレベルと、コアコントロールのレベルに存在します。
- レベル 1: XPage またはカスタムコントロール
- enableModifiedFlag (ブール値 - 暗黙のデフォルト値は false) – XPage またはカスタムコントロールのコアコントロールの変更を保存するようユーザーにプロンプトを出すかどうか、および Notes® クライアントで XPage またはコントロールが変更された場合に Notes クライアントの オプションを有効にするかどうかを指定します。 外部ブラウザで稼働するアプリケーションでは、Notes の メカニズムを使用できないため、プロンプトダイアログのみがユーザーに表示されます。
- modifiedMessage (ストリング) – プロンプトダイアログに表示するカスタムメッセージ
- レベル 2: コアコントロール
- disableModifiedFlag (ブール値 - 暗黙のデフォルト値は true) – コアコントロールの変更を保存するようユーザーにプロンプトを出すかどうかを指定します。
ある特定の XPage またはカスタムコントロールに関する変更通知を有効または無効にする場合は、enableModifiedFlag プロパティが絶対的に優先されます。 このプロパティ値を true に設定した場合、ユーザーは XPage またはカスタムコントロール内でサポートされるすべてのコアコントロールに対する変更について通知されます。ただし、コアコントロールの disableModifiedFlag プロパティ値を明示的に true に設定した場合は除きます。 XPage またはカスタムコントロールの enableModifiedFlag を設定しないか、この値を明示的に false に設定して、さらに 1 つ以上のコアコントロールの disableModifiedFlag プロパティ値を false に設定した場合、ユーザーには変更が通知されなくなります。これは、enableModifiedFlag プロパティが優先されるためです。
この機能は、次のコアコントロールでサポートされます。
- 編集ボックス
- 複数行入力域ボックス
- リストボックス
- コンボボックス
- チェックボックス
- ラジオボタン
- ファイルのアップロード
- 日時ピッカー
- リッチテキストエディタ
ユーザーが現在のページの変更を保存しないことを選択した場合は、要求されたアクション (ページを閉じる、ページから離れてブラウザ内をナビゲートする、など) を実行できます。 ユーザーが変更を保存することを選択した場合は、ページを保存する前に、関連するフィールドが検証されます。 この検証は、最初にクライアントで実行され、次にサーバーで実行されます。
現在のページのフィールドに関するクライアントサイド検証が成功した場合のみ、サーバーサイド検証を実行できます。 サーバーサイド検証が失敗した場合、ユーザーには、問題のフィールドが含まれる現在のページが示され、フィールド内容を修正する機会が与えられます。 サーバーサイド検証が成功すると、要求されたアクションを実行できます。