子表單校驗
簡介
功能簡介
表單送出校驗是指只有填寫的內容滿足校驗條件,才能成功送出資料。由於子表單欄位的特殊性,與普通欄位的送出校驗設定略有不同,故本文將介紹幾種常用的子表單校驗設定方法。
應用場景
- 進銷存場景中,使用子表單作為訂單明細時,可以透過表單送出校驗,來限制訂單的資料、總和、總價等數值;
- 課程預約場景中,可以透過表單送出校驗,限制預約明細中報名人的選課時間、課節等資訊;
- 退休資訊登記場景中,可以透過表單送出校驗,限制人員明細中的性別、年齡等資訊。
預期效果
例如,在資訊登記時,只有滿足「性別為男且年齡大於60歲,性別為女且年齡大於50歲」的條件,才能成功送出表單:
設定入口
1. 在表單設計頁面新增好欄位後,點擊「表單屬性 > 表單送出校驗 > 新增校驗條件」:
2. 進入送出校驗頁面,填寫如下內容:
- 不滿足校驗條件時提示的文字
- 校驗公式
填寫好內容後點擊「確定」儲存即可。
常見子表單校驗設定方法
數值類校驗
數值類校驗是指,對子表單中的單個數字欄位的值或多個數字欄位的計算結果進行校驗。例如:最大值校驗、總和校驗、總價校驗等。
最大值校驗
要求每一條子表單資料中的數字欄位必須小於100,即所有記錄中的數字的最大值必須小於100,可設定公式為:
MAX(訂單明細.金額)<100
總價校驗
要求總價必須小於100,即單價與數量的乘積之和必須小於100,可設定校驗公式為:
SUMPRODUCT(訂單明細.單價,訂單明細.數量)<100
文字類校驗
文字類校驗是指,對子表單中的文字類欄位輸入內容進行校驗。
例如,選項內容校驗中,要求子表單的下拉單選選項都選擇「是」的時候才能送出,可設定校驗公式為:
TEXT(UNION(訂單明細.下拉單選))=='是'
綜合校驗
綜合校驗是指,對子表單的多個欄位進行內容和數值的多重校驗;當校驗條件比較複雜時,可以使用如下方法設定校驗條件:
1. 子表單新增數字欄位作為輔助欄位,設定公式為:
IF(邏輯條件,0,1)
2. 設定表單校驗公式為:
SUM(數字欄位)==0
例如,要求子表單資料中,性別等於「女」且年齡大於55歲,性別等於「男」且年齡大於60歲的資料才能送出,任意一行不滿足就不能送出。
1. 對子表單中的輔助欄位(數字)設定公式為:
IF(OR(AND(資訊登記.性別=='女',資訊登記.年齡>55),AND(資訊登記.性別=='男',資訊登記.年齡>60)),0,1)
2. 設定表單校驗公式為:
SUM(資訊登記.輔助欄位(數字))==0
附註:
如需設定輔助欄位(數字)為不可見,則一定要在表單屬性中修改不可見欄位賦值屬性為「始終重新計算」。