オブジェクトでフォームを使用する

オブジェクトでフォームを使用する

Liferay DXP 7.4以降で利用可能

LiferayオブジェクトはFormsアプリケーションと統合されているので、ユーザー入力を受け取り、オブジェクトエントリを作成するためのフォームを設計することができます。 そのためには、まず新しいフォームを追加して、そのフォームがオブジェクトストレージタイプを使用するように設定します。 次に、目的のオブジェクトを選択し、フォームを設計し、そのフィールドを選択したオブジェクトのフィールドに対応させます。

note

ルールやバリデーションなど、Formsの全機能がオブジェクトに対してサポートされています。 ただし、ユーザーはオブジェクトの関係をフォームのフィールドにマッピングすることはできません。 オブジェクトの関係を含むカスタムレイアウトの作成方法については、オブジェクトレイアウトの設計 を参照してください。

オブジェクト用のフォームを追加する

以下の手順で、オブジェクトのエントリーを作成するためのフォームを追加します。

  1. 目的のサイトに移動し、 サイトメニューSite Menu)を開いて、 [Content & Data] → [Forms] に移動します。

  2. 追加 ボタン(Add Button)をクリックします。

  3. 新しいフォームの [設定] ボタン(Configuration Button)をクリックします。

  4. Object ストレージの種類と、フォームで使用するオブジェクトを選択します。

    これは、選択されたオブジェクトのデータを保存するフォームを設定します。

    オブジェクトストレージの種類と目的のオブジェクトを選択します。

    note

    公開され、アクティブなオブジェクトのみが表示されます。 フォームとオブジェクトは同時に1つしか接続できませんが、オブジェクトと複数のフォームを接続することは可能です。

  5. 完了] をクリックします。

目的のオブジェクトにリンクしたら、フォームにフィールド要素を追加して、オブジェクトのフィールドに対応させることができます。

フォーム項目をオブジェクトフィールドにマップする

以下の手順で、フォームフィールドとオブジェクトフィールドを対応させます。

  1. 目的のオブジェクトフィールドに対応するフォームフィールドを追加する。

    各タイプのオブジェクトフィールドと互換性のあるフォームフィールドの一覧は、 Field Compatibility Reference を参照してください。

  2. 詳細設定] タブをクリックします。

  3. 希望する オブジェクトフィールド を選択します。

    warning

    必須オブジェクトフィールドにマッピングされた場合、フォームフィールドは自動的に必須とマークされます。 フォームルールを使用して、必須フィールドを条件付きで非表示にする場合、その中に必ず適切なデータが入っていないとフォーム送信が失敗してしまいます。定義済み値autofill rule は必須の非表示フィールドに正しく入力されるようにすることができます。

     詳細設定タブで、目的のオブジェクトフィールドを選択します。

  4. 希望するすべてのオブジェクトフィールドがフォームフィールドにマッピングされるまで、上記のプロセスを繰り返します。

    note

    オブジェクトフィールドは、1つのフォームフィールドにしかマッピングできません。

    必要なすべてのオブジェクトフィールドをフォームフィールドにマッピングします。

  5. フォームレイアウトをデザインします。 この処理の詳細については、 フォーム のドキュメントを参照してください。

  6. フォームのデザインが完了したら、 [公開] をクリックしてフォームの作成を終了します。

    important

    オブジェクトフォームを公開するには、すべての マッピング要件 を満たしている必要があります。

公開後、このフォームを使用して、選択したオブジェクトのオブジェクトエントリを作成することができます。

オブジェクトのエントリーを作成するには、公開されたフォームを使用します。

マッピング要件

オブジェクトストレージタイプのすべてのフォームには、次の要件があります。

  • データ損失を防ぐため、すべてのフォームフィールドはオブジェクトフィールドにマッピングする必要があります。

  • すべての必須オブジェクトフィールドは、フォームフィールドにマッピングされなければなりません。

無効なマッピングを使用してフォームを公開しようとすると、何が問題であるかを示すエラーメッセージが表示されます。

無効なマッピングを使用してフォームを公開しようとすると、エラーメッセージが表示されます。

フィールド互換性リファレンス

Liferay 7.4 U20以降の場合

オブジェクト項目タイプ 互換性のあるフォーム項目
添付ファイル
ブール値 ブール値(チェックボックス)
日付 日付
小数(以前はDouble) 数値 → 小数
整数 数値 → 整数
長い整数 (以前はLong) 数値 → 整数
長いテキスト(以前はClob) テキスト
選択リスト リストから選択、1つだけ選択
小数の精度 (以前はBigDecimal) 数値 → 小数
リレーション
リッチテキスト リッチテキスト
Text (以前はString) テキスト、複数選択、グリッド、色

追加情報