作為一名專業的低代碼產品經理,我們主要以 to B 的企業級系統為配置化對象,我深知在構建高效、用户友好的企業應用系統時,表單引擎扮演着核心基礎的角色。當然拖拉拽快速創建頁面是最簡單直接的用户體驗,然而,在享受拖拉拽帶來的便捷性的同時,我們絕不能忽視表單引擎中那些關乎用户體驗和業務邏輯的關鍵動態細節。本文將重點探討數據校驗、數據聯動、動態回顯以及邏輯觸發等核心功能,揭示它們如何共同提升表單引擎的實用性和靈活性。
不僅僅是拖拉拽:低代碼表單引擎的基礎與進階
低代碼平台通過直觀的拖拉拽界面,極大地簡化了表單設計和開發的流程。開發者可以快速組合不同的組件,調整佈局,並設置基本屬性,從而在短時間內創建出符合需求的表單。然而,真正的挑戰在於如何超越這些基礎功能,實現更高級、更動態的業務邏輯處理。
數據校驗:確保數據準確性的關鍵
我們看一個場景:在密碼輸入字段中,表單引擎可以實時校驗密碼的複雜度,確保密碼包含數字、字母和特殊字符等。如果密碼不符合要求,引擎應立即給出明確的提示信息,引導用户進行修正。
數據校驗是任何表單不可或缺的一部分。低代碼表單引擎應提供強大的數據校驗功能,確保用户輸入的數據符合預設的規則和標準。這包括但不限於格式校驗(如郵箱地址、電話號碼的格式)、範圍校驗(如年齡、價格的合理範圍)、必填項校驗等。更重要的是,這些校驗規則應該能夠動態調整,以適應不同的業務場景和需求。
①:必填字段的設置校驗
②:正則表達式對數據本身的校驗
③:通過調用觸發一個 可編排的邏輯功能,對業務進行校驗
④:校驗失敗的提示配置
也就是 ,校驗可以是基於輸入的判斷,可以技術數據的判斷,還可以基於業務邏輯的判斷,如下所示,通過觸發業務邏輯,就是對業務規則層級的判斷校驗了
配置的方式:
a、先配置業務表單
b、設置業務邏輯觸發的方式(可以是某個字段 失焦觸發、可以是表單提交保存觸發)
c、配置具體的校驗的邏輯(具體方式可以參考 jvs-logic 邏輯引擎的配置説明)
數據聯動:提升表單交互性的利器
例如,在一個產品訂單表單中,當用户選擇產品名稱後,表單引擎可以自動從數據庫中查詢並顯示該產品的單價、庫存數量等信息。如果庫存不足,還可以自動禁用提交按鈕,防止用户提交無效訂單。
數據聯動是表單引擎中的一項高級功能,它允許表單中的不同字段之間建立關聯關係,實現數據的動態更新和同步。這種功能在複雜表單中尤為重要,可以顯著減少用户的重複輸入,提高數據錄入的效率和準確性。這裏我們暫舉幾種情況:
A、簡單場景:下拉框,下拉框的數據來源於外部數據,或者另外一個表單的模型,
在下拉框的組件 選擇數據來源方式:
配置數據,選擇配置數據後,可以直接在表單配置的過程中創建下拉框的選項
選擇數據模型的時候,那麼本質上就是選擇一張其他的表裏邊的字段,那麼要設置表的名稱、下拉展示哪些字段、回填什麼字段等配置
通過調用一個邏輯(可以查詢多個數據來源進行加工,也可以通過API獲取數據等),來獲取下拉選項
還可通過動態流程來回填下拉選項,這裏就不重點介紹了
B、數據回顯展示動態回顯是指表單引擎根據用户的輸入或其他條件,自動填充表單中的某些字段。這一功能在提升用户體驗方面發揮着重要作用。通過減少用户的輸入負擔,動態回顯可以讓用户更加專注於核心信息的錄入,提高表單的易用性。例如,在用户填寫註冊表單時,表單引擎可以根據用户輸入的郵箱地址,自動查詢並顯示該郵箱是否已被註冊。如果郵箱已被佔用,引擎可以立即給出提示,引導用户更換郵箱地址。
配置的方式:
通過四步完成動態回顯:①:把表格組件新增到表單中②:把表格組件中拖入對應的具體字段③:設置表格中關聯的子表的模型④:設置關聯模型的過濾條件,根據汽車品牌來過濾
C、選項聯動表單中的單選框(或其他組件)之間建立關聯關係,使得當用户選擇某個選項時,能夠自動觸發其他表單元素的內容控制,如下圖所示:
配置的方式可以採用:
通過在其他表查找 回顯的數據選項,並且設置數據篩選的條件,以滿足根據第一個單選框的選擇內容去過濾第二個單選框的選項
D、級聯選擇級聯選擇是一種基於層級關係的數據選擇方式。它通常包含兩個或更多級別的選擇框,每個選擇框的選項都依賴於前一個選擇框中選定的值。例如,在選擇地址時,第一個選擇框可能是國家,第二個是國家內的省份,第三個是省份內的城市,以此類推,如下所示:
在配置表單的時候,選擇就需要選擇級聯的組件,並且設置級聯的數據來源於字典還是數據表,如下圖所示:
E、顯隱控制顯隱控制就是相當常見的業務效果了,更具某些業務組件控制另外的業務組件
公式計算:實現簡單業務邏輯邏輯觸發是表單引擎中最強大的功能之一,它允許開發者定義一系列的業務公式規則,並在滿足特定條件時自動執行相應的操作。這些操作可以包括數據校驗、數據聯動、動態回顯以及更復雜的業務處理流程等。例如,在一個請假申請表單中,表單引擎可以根據用户選擇的請假類型(如事假、病假、年假等)和請假天數,自動計算並顯示應扣工資或年假天數。如果請假天數超過一定限制,還可以觸發審批流程,將申請提交給上級審核。
配置的方式:
總結一下
低代碼表單引擎不僅僅是簡單的拖拉拽工具,它還需要具備強大的數據校驗、數據聯動、動態回顯和邏輯觸,自定以業務按鈕等等功能。這些功能共同構成了表單引擎的核心競爭力,使得開發者能夠構建出既高效又靈活的表單應用,所以這條路還相當漫長,拖拉拽,僅僅是萬里長征的第一步,如何滿足業務功能的需求才是硬道理。
在線demo:https://frame.bctools.cn
基礎框架開源地址:https://gitee.com/software-minister/jvs