diff --git a/src/views/flow/admin/def-editor/validate.ts b/src/views/flow/admin/def-editor/validate.ts index 99f6dba..a50e52e 100644 --- a/src/views/flow/admin/def-editor/validate.ts +++ b/src/views/flow/admin/def-editor/validate.ts @@ -55,6 +55,26 @@ export function validateModel(model: EditorModel, depts: DeptOption[], routers: } else if (!a.userIds.length) { push(item.uid, "error", path, "指定用户不能为空"); } + if (item.outlets && item.outlets.length >= 2) { + if (item.outlets.length > MAX_BRANCHES) { + push(item.uid, "error", path, `出口数最多 ${MAX_BRANCHES} 个`); + } + item.outlets.forEach((o, i) => { + if (!o.trim()) { + push(item.uid, "error", path, `第 ${i + 1} 个出口的按钮文案不能为空`); + } else if (item.outlets!.indexOf(o) !== i) { + push(item.uid, "error", path, `出口文案重复:「${o}」(按钮文案必须唯一)`); + } + }); + (item.branches || []).forEach((branch, i) => { + const p = `${path}·出口「${item.outlets![i] || i + 1}」`; + if (!branch.length) { + push(item.uid, "error", p, "出口泳道为空,请添加节点"); + return; + } + rec(branch, p); + }); + } return; }