This commit is contained in:
dengqichen 2024-12-20 15:03:43 +08:00
parent c45dd19d58
commit c5dd9d00c2

View File

@ -11,25 +11,30 @@ interface ValidationResult {
* @param nodeDefinition * @param nodeDefinition
*/ */
const validateNodeConfig = (node: Cell, nodeDefinition: any): ValidationResult => { const validateNodeConfig = (node: Cell, nodeDefinition: any): ValidationResult => {
const config = node.getProp('config'); const panelVariables = node.getProp('panelVariables');
console.log("aaaa", nodeDefinition) const localVariables = node.getProp('localVariables');
const configSchema = nodeDefinition?.graphConfig.configSchema;
if (!config) { // 校验面板变量
return { if (nodeDefinition?.panelVariablesSchema?.required) {
valid: false, for (const field of nodeDefinition.panelVariablesSchema.required) {
message: `节点 "${node.attr('label/text')}" 未配置` if (!panelVariables?.[field]) {
}; const fieldTitle = nodeDefinition.panelVariablesSchema.properties[field]?.title || field;
}
// 检查必填字段
if (configSchema?.required) {
for (const field of configSchema.required) {
if (!config[field]) {
const fieldTitle = configSchema.properties[field]?.title || field;
return { return {
valid: false, 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}" 是必填项`
}; };
} }
} }