Form Rules
ご覧のページは、お客様の利便性のために一部機械翻訳されています。また、ドキュメントは頻繁に更新が加えられており、翻訳は未完成の部分が含まれることをご了承ください。最新情報は都度公開されておりますため、必ず英語版をご参照ください。翻訳に問題がある場合は、 こちら までご連絡ください。

例:フォームルールでの非表示フィールドの使用

[詳細設定]タブで[フォーム]フィールドを非表示に設定します。

詳細設定を使用してフィールドを非表示にします。

このフォームには非表示のフィールドがあります。 データプロバイダーに入力値として渡すことができるように、サイトのID番号を保持しています。

フォームには、データプロバイダーに情報を渡すための隠しフィールドが含まれています。

この例に従うためには、まず[データプロバイダーシステム設定]エントリでローカルネットワークアクセスを有効にする必要があります。 詳細については、「 ローカル ネットワーク上のデータへのアクセスの有効化 」を参照してください。

この例では、2つのデータプロバイダーと、4つのフィールドと3つのフォームルールを持つフォームを作成する必要があります。 以下の表は、その要素の概要を示したものです。

この例を構成するには、

  1. これらの設定でデータプロバイダーを構成します。

    • 名前: グループユーザーを取得

    • URL: http://localhost:8080/api/jsonws/user/get-group-users/group-id/

      groupId は、データプロバイダーの入力パラメーターとして渡されます。 この例では、グループIDを入力するために非表示フォームフィールドを使用します。

    • ユーザー名 :test@liferay.com (または管理者の電子メールアドレス)

    • パスワード: [ユーザーのパスワードを入力]

    • 入力:

      • ラベル: グループID
      • パラメータ: グループID
      • タイプ: 数値
    • 出力:

      • ラベル: メールアドレス
      • パス: $..emailAddress
      • タイプ: リスト

    データプロバイダーを保存します。

  2. この設定で別のデータプロバイダーを設定します。

    • 名前: メールでユーザーを取得

    • URL: http://localhost:8080/api/jsonws/user/get-user-by-email-address/company-id/20099/email-address/

      Liferay InstanceのID(例:20099)を取得する必要があります。 コントロールパネル → 仮想インスタンスに表示されるインスタンス ID です。

    • ユーザー名 :test@liferay.com (または管理者の電子メールアドレス)

    • パスワード: [ユーザーのパスワードを入力]

    • 入力:

      • ラベル: メールアドレス
      • パラメータ: emailAddress
      • タイプ: テキスト
    • 出力:

      • ラベル:
      • パス: $.firstName
      • タイプ: テキスト

    プラス記号をクリックして、別の出力を追加します。

    • 出力:
      • ラベル:
      • パス: $.lastName
      • タイプ: テキスト

    データプロバイダーを保存します。

  3. 新しいフォームを作成し、これらのフィールドを追加します。

    • 数値フィールド: 非表示グループID
      • 初期値: [サイトID (例:20123)]

        サイト設定→サイト構成でサイトIDを見つけます。

    • リストから選択: Who are you?
      • リストを作成: 自動入力から
    • テキストフィールド:
    • テキストフィールド:

    フォームにタイトルをつけて保存します。

    フォームには4つのフィールドがあります。

  4. フォームの「ルール」タブに移動し、「 あなたは誰ですか?」を自動入力するルールを作成します。 フィールドのオプションのリスト:

    • CONDITION:
      • 非表示グループID が空でない場合
    • ACTION:
      • 実行 自動入力 データプロバイダーから グループユーザーを取得
        • データプロバイダーの入力: groupId非表示グループID
        • データプロバイダーの出力: メールアドレスあなたは誰ですか?

    ルールの保存

    サイトユーザーのメールアドレスを入力してください。

  5. フォームの「ルール」タブに移動し、「 あなたは誰ですか?」を自動入力するルールを作成します。 フィールドのオプションのリスト:

    • CONDITION:
      • もし あなたは誰ですか? 空ではありません
    • ACTION:
      • 実行 自動入力 データプロバイダーから メールでユーザーを取得
        • データプロバイダーの入力: emailAddressWho are You?
        • データプロバイダーの出力:
        • データプロバイダーの出力:

    ルールの保存

    選択されたEメールアドレスから名前欄を自動入力する。

  6. フォームの[ルール]タブに移動し、メールアドレスが選択されていない場合に名前フィールドのみを有効にするルールを作成します。

    • CONDITION:
      • もし あなたは誰ですか? 空です
    • ACTION:
      • 実行 有効
      • 実行 有効

    ルールの保存

    Eメールが選択されていない場合は、名前のフィールドがユーザー入力可能な状態になっています。

  7. フォームを保存して公開します。 ルールを保存してもフォームは保存されなかったため、[フォーム]タブに戻り、 [保存]をクリックし、フォームがまだ公開されていない場合は 公開します。

フォームをテストするには、専用のURLにアクセスし、メールアドレスを選択します。 以下の動作に注意してください。

  • あなたは誰ですか?を使用してください 現在のサイトに属するユーザーのリストから自分のメールアドレスを選択するフィールドです。 このリストは、データプロバイダーがJSONウェブサービス get-group-usersを呼び出すことで入力されます。
  • セレクタでメールアドレスを選択すると、[名]と[姓]の欄が自動入力され、これらの欄は編集できないようになっています。
  • を離れる あなたは誰ですか? フィールドが空白の場合(例: オプションを選択 が表示される)、両方の名前フィールドが有効になり、ユーザーはデータを直接入力できます。