根據核心元件的最適化表單的規則編輯器中的運運算元型別和事件

在AEM Forms as a Cloud中,規則編輯器包含各種運運算元型別和事件,可讓您輕鬆定義和執行複雜的條件和動作。

最適化表單的規則編輯器中可用的運運算元型別,提供完善的結構來建構精確條件。 它們可讓您以邏輯且一致的方式操控資料、執行計算以及結合多個條件。 無論您是要比較值、執行算術運算或操控字串,這些運運算元都能確保您的規則既靈活又強大。

規則編輯器中的事件會作為啟動規則的觸發器。 它們定義當滿足某些條件時會發生的特定動作。 運用不同型別的事件,您可以自動回應廣泛的情境,例如使用者互動、排程時間、資料變更和系統狀態。 有了指定這些觸發器的功能,您可以建立動態且回應式規則,以符合您的特定需求。

透過瞭解並使用可用的運運算元型別和事件,您可以解鎖規則編輯器的完整潛能,這可讓您建立有效率且有效的規則,以滿足您獨特的需求並改善整體系統功能。

規則編輯器中可用的運運算元型別和事件 available-operator-types-and-events-in-rule-editor

規則編輯器提供下列邏輯運運算元和事件,您可使用它們建立規則。

  • 等於
  • 不等於
  • 開頭為
  • 結尾為
  • 包含
  • 不包含
  • 是空的
  • 不是空的
  • 已選取: ​當使用者選取核取方塊、下拉式清單單選按鈕的特定選項時,傳回True。
  • 已初始化(事件): ​當表單物件在瀏覽器中呈現時傳回True。
  • 已變更(事件): ​當使用者變更表單物件的輸入值或選取的選項時,傳回true。

規則編輯器中的可用規則型別 available-rule-types-in-rule-editor

規則 編輯者提供了一組可用于編寫規則的預定義規則類型。 讓我們詳細看一下每種規則類型。 有關在規則 編輯者中編寫規則的詳細信息,請参閱 編寫規則

時間 whenruletype

When ​規則型別遵循​ condition-action-alternate action ​規則建構,有時只遵循​ condition-action ​建構。 在此規則型別中,您先指定評估條件,接著指定滿足條件時觸發的動作( True)。 使用When規則型別時,您可以使用多個AND和OR運運算元來建立巢狀運算式

使用When規則型別,您可以評估表單物件的條件,並對一或多個物件執行動作。

簡單地說,典型的When規則結構如下:

When on Object A:

(Condition 1 AND Condition 2 OR Condition 3) is TRUE;

Then, do the following:

Action 2 on Object B;
AND
'物件C上的動作3;

Else, do the following:

Action 2 on Object C;
_

當您有多值元件(如單選按鈕或清單)時,為該元件建立規則時,會自動擷取選項,並讓規則建立者可以使用這些選項。 您不需要再次輸入選項值。

例如,清單有四個選項:紅色、藍色、綠色和黃色。 建立規則時,系統會自動擷取選項(選項按鈕),供規則建立者使用,如下所示:

多重值顯示選項

編寫 When 規則時,可以觸發清除值操作。 清除值操作將清除指定物件的值。 在 When 語句中使用「清除值」選項可以創建具有多個字段的複雜條件。 您可以添加 Else 語句以添加其他條件

清除值

NOTE
當規則型別僅支援單一層級then-else陳述式時。
When中允許多個欄位 allowed-multiple-fields

在​ When ​條件中,您可以選擇新增套用規則的欄位以外的其他欄位。

例如,使用When規則型別,您可以評估不同表單物件的條件並執行動作:

時間:

(物件A條件1)

和/或

(物件B條件2)

接著,執行下列動作:

物件A上的動作1

_

在When 中允許多個欄位

在When條件功能 ​中使用允許多個欄位時的考量事項

如果「當條件」功能中允許的多個字段遇到任何問題,請將故障排除步驟追隨為:

  1. 在編輯模式下打開表單。
  2. 開啟「內容」瀏覽器,然後選擇 最適化表單的「引導容器 」元件。
  3. 按一下「指引容器」屬性 指引屬性 圖示。此時會開啟「最適化表單容器」對話框。
  4. 按一下完成,然後再次儲存對話方塊。

隱藏 ​隱藏指定的物件。

顯示 ​顯示指定的物件。

啟用 ​啟用指定的物件。

停用 ​停用指定的物件。

啟動服務 ​啟動表單資料模型(FDM)中設定的服務。 選擇「啟動服務」作業時,會出現一個欄位。 點選欄位時,它會顯示您Experience Manager執行個體上所有表單資料模型(FDM)中設定的所有服務。 選擇表單資料模型服務時,會出現更多欄位,您可在其中對應具有指定服務的輸入和輸出引數的表單物件。 請參閱叫用表單資料模型(FDM)服務的規則範例。

除了「表單資料模型」服務之外,您還可以指定直接的WSDL URL來叫用Web服務。 不過,表單資料模型服務有許多優點,且建議叫用服務的方法。

如需有關在表單資料模型(FDM)中設定服務的詳細資訊,請參閱Experience Manager Forms 資料整合

設定值 ​計算並設定指定物件的值。 您可以將物件值設為字串、其他物件的值、使用數學運算式或函式的計算值、物件屬性的值,或來自已設定表單資料模型服務的輸出值。 當您選擇Web服務選項時,它會顯示您Experience Manager執行個體上所有表單資料模型(FDM)中設定的所有服務。 選擇表單資料模型服務時,會出現更多欄位,您可在其中對應具有指定服務的輸入和輸出引數的表單物件。

如需有關在表單資料模型(FDM)中設定服務的詳細資訊,請參閱Experience Manager Forms 資料整合

Set Property ​規則型別可讓您根據條件動作來設定指定物件的屬性值。 您可以將屬性設為下列其中一項:

  • 可見(布林值)
  • label.value (字串)
  • label.visible (布林值)
  • 說明(字串)
  • 已啟用(布林值)
  • readOnly (布林值)
  • 必要(布林值)
  • screenReaderText (字串)
  • 合法 (布林值 )
  • 錯誤訊息 (字串)
  • 預設 (數字、字串、日期)
  • enumNames (字串[])
  • chartType (字串)

例如,這可讓您定義規則,以便在按一下按鈕時顯示文字方塊。 您可以使用自訂函式、表單物件、物件屬性或服務輸出來定義規則。

設定屬性

若要根據自訂函式定義規則,請從下拉式清單中選取​ 函式輸出,然後從​ 函式 ​索引標籤中拖放自訂函式。 如果符合條件動作,文字輸入方塊就會顯示。

若要根據表單物件定義規則,請從下拉式清單中選取​ 表單物件,然後從​ 表單物件 ​標籤中拖放表單物件。 如果符合條件動作,文字輸入方塊就會顯示在最適化表單中。

根據物件屬性的「設定屬性」規則可讓您根據最適化表單中包含的其他物件屬性,在最適化表單中顯示文字輸入方塊。

下圖是根據在最適化表單中隱藏或顯示文字方塊來動態啟用核取方塊的範例:

物件屬性

清除值 ​清除指定物件的值。

在指定的物件上設定焦點 集聚焦。

提交表單 ​提交表單。

​重設 重置表單或指定的物件。

驗證 驗證表單或指定的物件。

新增實例 新增指定重複面板或表格列的執行個體。

移除例項 移除指定可重複面板或表格列的執行個體。

函式輸出 ​根據預先定義的函式或自訂函式定義規則。

導覽至 ​導覽至其他最適化Forms、影像或檔案片段等其他資產,或外部URL。

分派事件 ​根據預先定義的條件或事件觸發特定動作或行為。

設定值 set-value-of

規則型別的 ​設定值可讓您依據指定的條件是否符合,來設定表單物件的值。 值可以設定為另一個物件的值、常值字串、衍生自數學運算式或函式的值、另一個物件的屬性值,或表單資料模型服務的輸出。 同樣地,您可以檢查元件、字串、屬性或衍生自函式或數學運算式的值的條件。

Set Value Of ​規則型別不適用於所有表單物件,例如面板和工具列按鈕。 標準的「設定值」規則具有以下結構:

將物件A的值設為:

(字串ABC)或
(物件C的物件屬性X)或
(函式中的值) OR
(數學運算式的值) OR
(資料模型服務的輸出值);

當(選擇性):

(條件 1 和條件 2 和條件 3) 為 TRUE;

下面的示例選擇 as True 的值Question2並設置 as correct的值Result

Set-value-web-service

使用表格數據模型服務設定值 規則的範例。

節目 show

使用​ 顯示 ​規則型別,您可以撰寫規則來根據條件是否滿足來顯示或隱藏表單物件。 Show規則型別也會觸發Hide動作,以防條件未滿足或傳回False

典型的Show規則結構如下:

Show Object A;

When:

(Condition 1 OR Condition 2 OR Condition 3) is TRUE;

Else:

Hide Object A;

隱藏 hide

與「顯示」規則型別類似,您可以使用​ 隱藏 ​規則型別,根據是否符合條件來顯示或隱藏表單物件。 Hide規則型別也會觸發Show動作,以防條件不滿足或傳回False

典型的「隱藏」規則結構如下:

Hide Object A;

When:

(Condition 1 AND Condition 2 AND Condition 3) is TRUE;

Else:

Show Object A;

啟用 enable

啟用 ​規則型別可讓您根據條件是否滿足來啟用或停用表單物件。 Enable規則型別也會觸發Disable動作,以防條件不滿足或傳回False

典型的Enable規則結構如下:

Enable Object A;

When:

(Condition 1 AND Condition 2 AND Condition 3) is TRUE;

Else:

Disable Object A;

停用 disable

與「啟用」規則型別類似,停用 ​規則型別可讓您根據條件是否滿足來啟用或停用表單物件。 Disable規則型別也會觸發Enable動作,以防條件不滿足或傳回False

典型的「停用」規則結構如下:

Disable Object A;

When:

(Condition 1 OR Condition 2 OR Condition 3) is TRUE;

Else:

Enable Object A;

驗證 validate

Validate ​規則型別使用運算式來驗證欄位中的值。 例如,您可以撰寫運算式來檢查指定名稱的文字方塊是否不包含特殊字元或數字。

典型的驗證規則結構如下:

Validate Object A;

Using:

(Expression 1 AND Expression 2 AND Expression 3) is TRUE;

NOTE
如果指定的值不符合驗證規則,您可以向使用者顯示驗證訊息。 您可以在側邊欄中元件屬性的​ 指令碼驗證訊息 ​欄位中指定訊息。

指令碼驗證

下一步

讓我們現在瞭解根據核心元件🔗的最適化表單的規則編輯器的各種範例。

另請參閱

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab