diff --git a/frontend/src/pages/Workflow/Definition/Design/utils/validator.ts b/frontend/src/pages/Workflow/Definition/Design/utils/validator.ts index bddf2ca7..060096bf 100644 --- a/frontend/src/pages/Workflow/Definition/Design/utils/validator.ts +++ b/frontend/src/pages/Workflow/Definition/Design/utils/validator.ts @@ -11,25 +11,30 @@ interface ValidationResult { * @param nodeDefinition 节点定义 */ const validateNodeConfig = (node: Cell, nodeDefinition: any): ValidationResult => { - const config = node.getProp('config'); - console.log("aaaa", nodeDefinition) - const configSchema = nodeDefinition?.graphConfig.configSchema; + const panelVariables = node.getProp('panelVariables'); + const localVariables = node.getProp('localVariables'); - if (!config) { - return { - valid: false, - message: `节点 "${node.attr('label/text')}" 未配置` - }; - } - - // 检查必填字段 - if (configSchema?.required) { - for (const field of configSchema.required) { - if (!config[field]) { - const fieldTitle = configSchema.properties[field]?.title || field; + // 校验面板变量 + if (nodeDefinition?.panelVariablesSchema?.required) { + for (const field of nodeDefinition.panelVariablesSchema.required) { + if (!panelVariables?.[field]) { + const fieldTitle = nodeDefinition.panelVariablesSchema.properties[field]?.title || field; return { valid: false, - message: `节点 "${node.attr('label/text')}" 的 "${fieldTitle}" 是必填项` + message: `节点 "${node.attr('label/text')}" 的面板变量 "${fieldTitle}" 是必填项` + }; + } + } + } + + // 校验环境变量 + if (nodeDefinition?.localVariablesSchema?.required) { + for (const field of nodeDefinition.localVariablesSchema.required) { + if (!localVariables?.[field]) { + const fieldTitle = nodeDefinition.localVariablesSchema.properties[field]?.title || field; + return { + valid: false, + message: `节点 "${node.attr('label/text')}" 的环境变量 "${fieldTitle}" 是必填项` }; } }