From 3c48269ee556c090d298a4808ef51955d1302bc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=80=97=E5=AD=90?= Date: Sun, 25 Jan 2026 22:36:23 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=B7=BB=E5=8A=A0=E5=BF=85=E5=A1=AB?= =?UTF-8?q?=E6=A0=A1=E9=AA=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- web/src/views/app/TemplateDeployModal.vue | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/web/src/views/app/TemplateDeployModal.vue b/web/src/views/app/TemplateDeployModal.vue index 4e36af2d..8f5ebffb 100644 --- a/web/src/views/app/TemplateDeployModal.vue +++ b/web/src/views/app/TemplateDeployModal.vue @@ -73,6 +73,8 @@ const getSelectOptions = (env: TemplateEnvironment) => { const formRules = computed(() => { const rules: FormRules = {} props.template?.environments?.forEach((env) => { + const isRequired = env.default == null || env.default === '' + if (env.type === 'url') { rules[`envs.${env.name}`] = { trigger: ['input', 'blur'], @@ -87,6 +89,18 @@ const formRules = computed(() => { } } } + } else if (isRequired) { + // 为必填字段添加校验规则 + rules[`envs.${env.name}`] = { + required: true, + trigger: ['input', 'blur'], + validator(_rule: FormItemRule, value: any) { + if (value === null || value === undefined || value === '') { + return new Error($gettext('This field is required')) + } + return true + } + } } }) return rules