From 5d41720d2db0c357da5f24efb03dc199ea7a4a50 Mon Sep 17 00:00:00 2001 From: medchedli Date: Thu, 12 Jun 2025 11:57:24 +0100 Subject: [PATCH] refactor: simplify fallback message validation logic in OptionsForm --- .../visual-editor/form/OptionsForm.tsx | 20 +++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/src/components/visual-editor/form/OptionsForm.tsx b/frontend/src/components/visual-editor/form/OptionsForm.tsx index 58682661..48cdc5c2 100644 --- a/frontend/src/components/visual-editor/form/OptionsForm.tsx +++ b/frontend/src/components/visual-editor/form/OptionsForm.tsx @@ -106,17 +106,17 @@ export const OptionsForm = () => { defaultValue={block?.options?.fallback} rules={{ validate: (value) => { - if (!value) return true; - if (value.max_attempts > 0) { - if ( - !value.message || - value.message.every((msg) => !msg.trim()) - ) { - return t("message.fallback_message_required"); - } - } + const hasNoValue = !value; + const localFallbackDisabled = value?.max_attempts === 0; + const hasValidFallbackMessage = + Array.isArray(value?.message) && + value.message.some((m) => m?.trim()); - return true; + return hasNoValue || + localFallbackDisabled || + hasValidFallbackMessage + ? true + : t("message.fallback_message_required"); }, }} render={({ field }) => (