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

Co-authored-by: crazywoola <427733928@qq.com>
This commit is contained in:
Good Wood 2025-03-24 09:49:33 +08:00 committed by GitHub
parent f31e3313b0
commit 7ce8faf176
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

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,