This is an automated email from the ASF dual-hosted git repository.

gallardot pushed a commit to branch dev
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git


The following commit(s) were added to refs/heads/dev by this push:
     new 19cb333eca [Improvement-17063][UI][DATASYNC] Improvement datasync json 
parameter validate (#17064)
19cb333eca is described below

commit 19cb333ecac8823c1386d435d133b2f4900e936a
Author: 小可耐 <[email protected]>
AuthorDate: Wed Mar 26 08:03:13 2025 +0800

    [Improvement-17063][UI][DATASYNC] Improvement datasync json parameter 
validate (#17064)
---
 dolphinscheduler-ui/src/locales/en_US/project.ts            |  3 ++-
 dolphinscheduler-ui/src/locales/zh_CN/project.ts            |  3 ++-
 .../projects/task/components/node/fields/use-datasync.ts    | 13 ++++++++++++-
 3 files changed, 16 insertions(+), 3 deletions(-)

diff --git a/dolphinscheduler-ui/src/locales/en_US/project.ts 
b/dolphinscheduler-ui/src/locales/en_US/project.ts
index 947f1b06b5..7012d4b252 100644
--- a/dolphinscheduler-ui/src/locales/en_US/project.ts
+++ b/dolphinscheduler-ui/src/locales/en_US/project.ts
@@ -924,7 +924,8 @@ export default {
     spark_submit_parameters: 'spark submit parameters',
     spark_submit_parameters_tips: 'spark submit parameters',
     is_production: 'is production',
-    is_production_tips: 'is production'
+    is_production_tips: 'is production',
+    json_format_tips: 'Json parameters format is abnormal'
   },
   menu: {
     fav: 'Favorites',
diff --git a/dolphinscheduler-ui/src/locales/zh_CN/project.ts 
b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
index 6c46fcd3cc..e20043ab61 100644
--- a/dolphinscheduler-ui/src/locales/zh_CN/project.ts
+++ b/dolphinscheduler-ui/src/locales/zh_CN/project.ts
@@ -894,7 +894,8 @@ export default {
     spark_submit_parameters: 'spark submit parameters',
     spark_submit_parameters_tips: 'spark submit parameters',
     is_production: 'is production',
-    is_production_tips: 'is production'
+    is_production_tips: 'is production',
+    json_format_tips: 'JSON参数格式异常'
   },
   menu: {
     fav: '收藏组件',
diff --git 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasync.ts
 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasync.ts
index ead9ed3f07..d62bb57c10 100644
--- 
a/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasync.ts
+++ 
b/dolphinscheduler-ui/src/views/projects/task/components/node/fields/use-datasync.ts
@@ -18,6 +18,8 @@
 import type { IJsonItem } from '../types'
 import { watch, ref } from 'vue'
 import { useCustomParams } from '.'
+import utils from '@/utils'
+import { useI18n } from 'vue-i18n'
 
 export function useDatasync(model: { [field: string]: any }): IJsonItem[] {
   const jsonSpan = ref(0)
@@ -25,6 +27,7 @@ export function useDatasync(model: { [field: string]: any }): 
IJsonItem[] {
   const sourceLocationArnSpan = ref(0)
   const nameSpan = ref(0)
   const cloudWatchLogGroupArnSpan = ref(0)
+  const { t } = useI18n()
 
   const resetSpan = () => {
     jsonSpan.value = model.jsonFormat ? 24 : 0
@@ -54,7 +57,15 @@ export function useDatasync(model: { [field: string]: any 
}): IJsonItem[] {
       type: 'editor',
       field: 'json',
       name: 'json',
-      span: jsonSpan
+      span: jsonSpan,
+      validate: {
+        trigger: ['input', 'blur'],
+        validator() {
+          if (model.json && !utils.isJson(model.json)) {
+            return new Error(t('project.node.json_format_tips'))
+          }
+        }
+      }
     },
     {
       type: 'input',

Reply via email to