From 7218f718ad83f7edc8cf4fab3d4ea648f6229734 Mon Sep 17 00:00:00 2001 From: Joel Date: Tue, 8 Oct 2024 18:05:55 +0800 Subject: [PATCH] fix: value check --- .../workflow/nodes/if-else/default.ts | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/web/app/components/workflow/nodes/if-else/default.ts b/web/app/components/workflow/nodes/if-else/default.ts index ba47357116..1c994a37d4 100644 --- a/web/app/components/workflow/nodes/if-else/default.ts +++ b/web/app/components/workflow/nodes/if-else/default.ts @@ -50,8 +50,25 @@ const nodeDefault: NodeDefault = { errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.fields.variable`) }) if (!errorMessages && !condition.comparison_operator) errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t('workflow.nodes.ifElse.operator') }) - if (!errorMessages && !isEmptyRelatedOperator(condition.comparison_operator!) && !condition.value) - errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.fields.variableValue`) }) + if (!errorMessages) { + if (condition.sub_variable_condition) { + const isSet = condition.sub_variable_condition.conditions.every((c) => { + if (!c.comparison_operator) + return false + + if (isEmptyRelatedOperator(c.comparison_operator!)) + return true + + return !!c.value + }) + if (!isSet) + errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.fields.variableValue`) }) + } + else { + if (!isEmptyRelatedOperator(condition.comparison_operator!) && !condition.value) + errorMessages = t(`${i18nPrefix}.fieldRequired`, { field: t(`${i18nPrefix}.fields.variableValue`) }) + } + } }) }) return {