require 規則
require 表達條件式必填:當 when 成立時,指定 stored scalar 不得為 null 或空字串。它比只在前端切換 required 樣式可靠,因為所有寫入入口都會受同一契約約束。
Payload
{
"type": "require",
"name": "送出後必須填寫負責人",
"column": "負責人姓名",
"when": [
{ "column": "狀態", "op": "in", "value": ["已送出", "處理中", "完成"] }
]
}省略 when 代表每次 create 或 update 都必填。column 只能是 stored scalar;link 的存在性應由 SCP link leaf 或適合的資料模型契約處理。
前端整合
表單可根據同一組 predicate 即時顯示必填標記,但仍要處理伺服器否決:使用者可能在另一個分頁改變狀態,或透過非 UI 入口寫入。把規則 name 對應到欄位錯誤,並保留尚未送出的值。
when 的 operator 與上限見 when 前置條件。設定端點見 rules.set,發布前可用 rules.preview。
Last updated on