From 8fecf293bbe0594a88f9c591f120f7e6a4c75cf4 Mon Sep 17 00:00:00 2001 From: Karasukaigan <80465610+Karasukaigan@users.noreply.github.com> Date: Wed, 2 Jul 2025 04:05:04 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E4=BC=98=E5=8C=96Schema=E6=A0=A1?= =?UTF-8?q?=E9=AA=8C=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 修复了以下问题: 1. 当视频链接为空时,原本的校验逻辑会导致首次点击生成笔记时报错“Required”而不是“视频链接不能为空”。 2. 当选择抖音时无法判断URL是否合法,即使填入“123”也能触发后面的逻辑。 --- .../src/pages/HomePage/components/NoteForm.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/BillNote_frontend/src/pages/HomePage/components/NoteForm.tsx b/BillNote_frontend/src/pages/HomePage/components/NoteForm.tsx index 25d45a6..a278b16 100644 --- a/BillNote_frontend/src/pages/HomePage/components/NoteForm.tsx +++ b/BillNote_frontend/src/pages/HomePage/components/NoteForm.tsx @@ -43,7 +43,7 @@ import { useNavigate } from 'react-router-dom' /* -------------------- 校验 Schema -------------------- */ const formSchema = z .object({ - video_url: z.string(), + video_url: z.string().optional(), platform: z.string().nonempty('请选择平台'), quality: z.enum(['fast', 'medium', 'slow']), screenshot: z.boolean().optional(), @@ -60,10 +60,10 @@ const formSchema = z .optional(), }) .superRefine(({ video_url, platform }, ctx) => { - if (platform === 'local' || platform === 'douyin') { - if (!video_url) { - ctx.addIssue({ code: 'custom', message: '本地视频路径不能为空', path: ['video_url'] }) - } + if (platform === 'local' && !video_url) { + ctx.addIssue({ code: 'custom', message: '本地视频路径不能为空', path: ['video_url'] }) + } else if (!video_url) { + ctx.addIssue({ code: 'custom', message: '视频链接不能为空', path: ['video_url'] }) } else { try { const url = new URL(video_url)