オブジェクトでフォームを使用する
Liferay DXP 7.4+
Liferay オブジェクトは Forms アプリケーションと統合されているため、ユーザー入力を受け取り、オブジェクト エントリを作成するためのフォームを設計できます。 これを行うには、まず新しいフォームを追加し、オブジェクト ストレージ タイプを使用するように構成します。 次に、目的のオブジェクトを選択し、フォームをデザインして、そのフィールドを選択したオブジェクトのフィールドにマップします。
- オブジェクトでは、Forms アプリケーションのルールと検証を使用できます。
- オブジェクトではフォーム アプリケーションのデータ プロバイダーを使用することはできません。
- オブジェクト関係をフォーム フィールドにマップすることはできません。 オブジェクト関係を含むカスタム レイアウトを作成する方法については、 オブジェクト レイアウトの設計 を参照してください。
オブジェクト用のフォームを追加する
オブジェクト エントリを作成するためのフォームを追加するには、次の手順に従います。
-
目的のサイトに移動し、 サイト メニュー (
) を開いて、 コンテンツ & データ → フォームに移動します。 -
追加 ボタン (
) をクリックします。 -
新しいフォームの 構成 ボタン (
) をクリックします。 -
オブジェクト ストレージ タイプと、フォームで使用するオブジェクトを選択します。
これにより、選択したオブジェクトのデータを保存するようにフォームが構成されます。
注公開されたアクティブなオブジェクトのみが表示されます。 オブジェクトを複数のフォームに接続することはできますが、一度にフォームを接続できるオブジェクトは 1 つだけです。
-
完了をクリックします。
目的のオブジェクトにリンクしたら、フォームにフィールド要素を追加し、それらをオブジェクトのフィールドにマップできます。
フォーム項目をオブジェクトフィールドにマップする
フォーム フィールドをオブジェクト フィールドにマップするには、次の手順に従います。
-
目的のオブジェクト フィールドと互換性のあるフォーム フィールドを追加します。
各タイプのオブジェクト フィールドと互換性のあるフォーム フィールドの一覧については、 フィールド互換性リファレンス を参照してください。
-
詳細設定 タブをクリックします。
-
必要な オブジェクト フィールドを選択します。
警告必須オブジェクト フィールドにマップされると、フォーム フィールドは自動的に必須としてマークされます。 フォーム ルール を使用して 必須フィールドを条件付きで非表示にする場合は、適切なデータが含まれていることを確認する必要があります。そうしないと、フォームの送信が失敗します。 定義済み値 と 自動入力ルール を使用すると、必須の隠しフィールドに適切な値が入力されるようになります。
![[詳細設定] タブで、目的のオブジェクト フィールドを選択します。](https://resources.learn.liferay.com/images/dxp/latest/en/low-code/objects/using-forms-with-objects/images/02.png)
-
必要なすべてのオブジェクト フィールドがフォーム フィールドにマップされるまで、上記のプロセスを繰り返します。
注オブジェクト フィールドは 1 つのフォーム フィールドにのみマップできます。

-
フォームレイアウトをデザインします。 このプロセスの詳細については、 フォーム のドキュメントを参照してください。
-
フォームのデザインが完了したら、[公開]をクリックしてフォームの作成を終了します。
重要オブジェクト フォームを公開する前に、すべての マッピング要件を満たしている必要があります。
公開後、フォームを使用して、選択したオブジェクトのオブジェクト エントリを作成できます。

マッピング要件
オブジェクトストレージタイプのすべてのフォームには、次の要件があります。
-
データの損失を防ぐために、すべてのフォーム フィールドをオブジェクト フィールドにマップする必要があります。
-
すべての必須オブジェクト フィールドはフォーム フィールドにマップする必要があります。
無効なマッピングを使用してフォームを公開しようとすると、何が問題であるかを示すエラーメッセージが表示されます。

フィールド互換性リファレンス
| オブジェクト項目タイプ | 互換性のあるフォーム項目 |
|---|---|
| 添付ファイル | ❌ |
| ブール値 | ブール値(チェックボックス) |
| 日付 | 日付 |
| 10進数 (、以前は倍精度浮動小数点数) | 数値 → 小数点 |
| 整数 | 数値 → 整数 |
| Long Integer (以前は Long) | 数値 → 整数 |
| 長いテキスト (以前は Clob) | テキスト |
| 選択リスト | リストから選択(手動リストのみ) 単一選択 |
| 小数の精度 (以前はBigDecimal) | 数値 → 小数点 |
| リレーション | ❌ |
| リッチテキスト | リッチテキスト |
| テキスト (以前は文字列) | テキスト、複数選択、グリッド、色 |