1
This commit is contained in:
parent
c45dd19d58
commit
c5dd9d00c2
@ -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}" 是必填项`
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user