diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue b/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue index 11ce3de0d2..6ae4175579 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/ApiHttpRequestDraw.vue @@ -220,6 +220,10 @@ const initApiItem = ( methodName: 'clearForm', args: [] }) + xpackApiItemBasicInfo?.value?.invokeMethod({ + methodName: 'initForm', + args: [] + }) } else { apiItemBasicInfo.value.clearValidate() } diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/EditorDetail.vue b/core/core-frontend/src/views/visualized/data/datasource/form/EditorDetail.vue index cfe3b6e547..e0ca1e8894 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/EditorDetail.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/EditorDetail.vue @@ -491,6 +491,11 @@ const submitForm = () => { return dsForm.value.validate } +const submitApiForm = () => { + dsApiForm.value.clearValidate() + return dsApiForm.value.validate +} + const clearForm = () => { return dsForm.value.clearValidate() } @@ -641,7 +646,7 @@ const apiRule = { 'syncSetting.startTime': [ { required: true, - message: t('datasource.start_time'), + message: t('sync_task.please_choose_start_time'), trigger: 'change' } ] @@ -804,6 +809,7 @@ const datasetTypeList = [ ] defineExpose({ submitForm, + submitApiForm, resetForm, initForm, clearForm diff --git a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue index 955b76a001..0e5249ebc7 100644 --- a/core/core-frontend/src/views/visualized/data/datasource/form/index.vue +++ b/core/core-frontend/src/views/visualized/data/datasource/form/index.vue @@ -493,7 +493,16 @@ const saveDS = () => { request.apiConfiguration = '' validate(val => { if (val) { - doSaveDs(request) + if (currentDsType.value.includes('API')) { + const validateApi = detail?.value?.submitApiForm() + validateApi(v => { + if (v) { + doSaveDs(request) + } + }) + } else { + doSaveDs(request) + } } }) }