コアコンポーネントに基づくアダプティブフォームのルールエディターの概要
コアコンポーネントに基づくアダプティブフォームのルールエディター機能では、ビジネスユーザーと開発者の両方がアダプティブフォームオブジェクトのルールを記述できます。 これらのルールは、フォームオブジェクト上でトリガーできるアクションを定義します。それらのアクションは、プリセットされた条件、ユーザー入力、およびフォーム上のユーザーアクションに基づいてトリガーされます。この機能により、フォーム入力エクスペリエンスがさらに合理化され、精度と速度の両方が確保されます。
ルールエディターでは、ルールを記述するための直感的でシンプルなユーザーインターフェイスを提供します。 すべてのユーザーに対応するビジュアルエディターを提供するので、専門的な知識を必要とせずにルールを作成および管理できます。 この視覚的なアプローチにより、ユーザーはフォーム内で目的のロジックを理解して実装しやすくなります。
アダプティブフォームオブジェクト上でルールを用いることにより実行できるアクションのうち、主なものは以下のとおりです。
- オブジェクトの表示/非表示を切り替える
- オブジェクトの有効/無効を切り替える
- オブジェクトの値を設定する
- オブジェクトの値を検証する
- 関数を実行することにより、オブジェクトの値を計算する
- フォームデータモデル(FDM)サービスを呼び出して操作を実行する
- オブジェクトのプロパティを設定する
forms-power-users
グループに追加されたユーザーは、スクリプトの作成と既存のスクリプトの編集を行うことができます。 forms-users グループのユーザーは、スクリプトを使用できますが、スクリプトの作成と編集はできません。
詳細な比較については、 基盤ルールエディターとコアコンポーネントルールエディターの違いを参照してください。
ルールを理解する understanding-a-rule
ルールとは、アクションと条件を組み合わせたものです。ルールエディターでは、アクションには、フォーム内のオブジェクトの値を非表示、表示、有効化、無効化、または計算するなどのアクティビティが含まれます。「条件」とは、フォームオブジェクトの状態、値、またはプロパティに対して確認や操作を実行し、それによって評価されるブール式を指します。「アクション」は、条件を評価して返された値(True
または False
)に基づいて実行されます。
ルールエディターでは、事前定義された一連のルールタイプを利用できます。これらのルールタイプには、「When」、「Show」、「Hide」、「Enable」、「Disable」、「Set Value Of」、「Validate 」などがあるので、ルールを記述するのに便利です。各ルールタイプでは、ルール内の条件とアクションを定義できます。この記事では、各ルールタイプについてさらに詳細に説明します。
一般的なルールは、次のいずれかの構文に従います。
条件 - アクション この構文では、条件を最初に定義し、トリガーするアクションを次に定義します。構文は、プログラミング言語における if-then 文に匹敵します。
ルールエディターで「When」ルールタイプを使用することで、条件 - アクションの構文が適用されます。
アクション - 条件 この構文では、トリガーするアクションを最初に定義し、続いて評価条件を定義します。この構文の別の様式は、「アクション - 条件 - 代替アクション」型です。この中では、条件が False を返した場合にトリガーする代替アクションも定義します。
ルールエディターで「Show」、「Hide」、「Enable」、「Disable」、「Set Value Of」、「Validate」の各ルールを設定すると、「アクション – 条件」ルール構文が適用されます。 デフォルトでは、「Show」の代替アクションは「Hide」、「Enable」の代替アクションは「Disable」(それらの逆も同様)です。デフォルトの代替アクションは変更できません。
ルールエディターで使用可能なルールタイプの詳細については、「ルールエディターで利用できるルールタイプ」を参照してください。
ルール構文の選択ガイドライン guidelines-for-choosing-a-rule-construct
どのルール構文を使用しても大部分の使用例を満たすことはできますが、ここでは特定のルールを選択するための、いくつかのガイドラインを紹介します。ルールエディターで使用可能なルールの詳細については、「ルールエディターで利用できるルールタイプ」を参照してください。
-
ルールを作成する際は一般に、ルールを作成するオブジェクトのコンテキストでルールを考えることです。「フィールド A」にユーザーが入力した値に応じて、「フィールド B」の表示・非表示を切り替える場合を想定します。この場合、「フィールド A」の状態を評価し、その戻り値に基づいて「フィールド B」のアクションをトリガーします。
従って、「フィールド B」(状態を評価するオブジェクト)上にルールを記述する場合、「条件 - アクション」型の構文か、または「When」のルールタイプを使用します。同様に、「フィールド A」についても、「アクション - 条件」構文か、または「Show」・「Hide」のルールタイプを使用します
-
時には、1 つの条件に基づいて複数のアクションを実行する必要があるかもしれません。そのような場合は、「条件 - アクション」構文の使用を推奨します。この構文では、一度条件を評価し、その後に複数のアクション文を指定することができます。
例えば、ユーザーが「フィールド A」に入力した値を確認する条件を設け、その戻り値に応じて「B」、「C」、「D」の各フィールドを非表示にするには、まず、「フィールド A」に対して「条件 - アクション」の構文を記述するか、あるいは「When」のルールタイプを使用し、「B」、「C」、「D」の各フィールドについて表示状態を制御するアクションを作成します。この形式を取らない場合は、「B」、「C」、「D」のフィールドごとに別々のルールを 3 つ記述し、それぞれ「フィールド A」の状態を確認させる必要が生じます。この例では、3 つのオブジェクトに「Show」または「Hide」のルールタイプを記述するよりも、1 つのオブジェクトに「When」のルールタイプを記述する方が効率的です。
-
複数の条件に基づいてアクションのトリガーを設定するには、「アクション – 条件」構文の使用を推奨します。 例えば、「B」、「C」、「D」の各フィールドの状態を評価し、その戻り値に応じて「フィールド A」の表示・非表示を切り替える場合は、「フィールド A」に「Show」または「Hide」のルールタイプを記述します。
-
1 つの条件に対して 1 つのアクションが指定されているルールでは、「条件 - アクション」または「アクション - 条件」構文を使用してください。
-
ルールによって条件がチェックされ、フィールドに値を入力したときやフィールドを終了したときに直ちにアクションが実行される場合は、条件が評価されるフィールドに「条件 – アクション」構文または「When」ルールタイプのルールを記述することをお勧めします。
-
「When」のルール内に記述した条件は、その条件が適用されるオブジェクトの値をユーザーが変更した際に評価されます。しかし、値が変更された場合にサーバーサイドでアクションをトリガーする場合(値を事前入力する場合など)は、フィールドの初期化時にアクションをトリガーする「When」ルールを記述することが推奨されます。
-
ドロップダウン、ラジオボタン、チェックボックスの各オブジェクトに対してルールを記述する場合、フォーム内のこれらのフォームオブジェクトのオプションや値はルールエディターで事前入力されます。
ルールエディターでルールの作成および管理にユーザーインターフェイスを使用する方法については、 コアコンポーネントに基づくアダプティブFormsのルールエディターユーザーインターフェイスを参照してください。
関連トピック
- コアコンポーネントに基づくアダプティブフォームのルールエディターの概要
- コアコンポーネントに基づくアダプティブフォームのルールエディターでの演算子のタイプとイベント
- コアコンポーネントに基づくアダプティブフォームのルールエディターのユーザーインターフェイス
- コアコンポーネントに基づくアダプティブフォームの様々なユースケース
- ルールエディターの様々なエディションの違い
- アダプティブフォームでの非同期関数の使用
- コアコンポーネントに基づくフォームのビジュアルルールエディターにおける呼び出しサービスの機能強化
- コアコンポーネントに基づくアダプティブフォームのカスタム関数の概要
- コアコンポーネントに基づくアダプティブフォームのカスタム関数の作成
- カスタム関数内のオブジェクトのスコープ
- カスタム関数の開発と使用の例