Browse Source

fix: fix variable-aggregator cannot pass node check in group mode (#16439)

Co-authored-by: crazywoola <427733928@qq.com>
tags/1.1.3
Good Wood 7 months ago
parent
commit
7ce8faf176
No account linked to committer's email address
1 changed files with 22 additions and 5 deletions
  1. 22
    5
      web/app/components/workflow/nodes/variable-assigner/default.ts

+ 22
- 5
web/app/components/workflow/nodes/variable-assigner/default.ts View File

@@ -22,16 +22,33 @@ const nodeDefault: NodeDefault<VariableAssignerNodeType> = {
},
checkValid(payload: VariableAssignerNodeType, t: any) {
let errorMessages = ''
const { variables } = payload
if (!variables || variables.length === 0)
errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
if (!errorMessages) {
const { variables, advanced_settings } = payload
const { group_enabled = false, groups = [] } = advanced_settings || {}
// enable group
const validateVariables = (variables: any[], field: string) => {
variables.forEach((variable) => {
if (!variable || variable.length === 0)
errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.errorMsg.fields.variableValue`) })
errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(field) })
})
}

if (group_enabled) {
if (!groups || groups.length === 0) {
errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
}
else if (!errorMessages) {
groups.forEach((group) => {
validateVariables(group.variables || [], `${i18nPrefix}.errorMsg.fields.variableValue`)
})
}
}
else {
if (!variables || variables.length === 0)
errorMessages = t(`${i18nPrefix}.errorMsg.fieldRequired`, { field: t(`${i18nPrefix}.nodes.variableAssigner.title`) })
else if (!errorMessages)
validateVariables(variables, `${i18nPrefix}.errorMsg.fields.variableValue`)
}

return {
isValid: !errorMessages,
errorMessage: errorMessages,

Loading…
Cancel
Save