fix(web): resolve zodResolver type mismatch for optional description fields

Remove .default('') from zod schemas to align input/output types,
preventing type conflict between zodResolver and useForm in
@hookform/resolvers v5. Use nullish coalescing at entity assignment
sites to ensure string type safety.
This commit is contained in:
Junyan Qin
2026-03-27 18:10:30 +08:00
parent af0d00e5e9
commit 267bd72c63
3 changed files with 9 additions and 9 deletions
@@ -80,7 +80,7 @@ export default function PipelineFormComponent({
? z.object({
basic: z.object({
name: z.string().min(1, { message: t('pipelines.nameRequired') }),
description: z.string().optional().default(''),
description: z.string().optional(),
emoji: z.string().optional(),
}),
ai: z.record(z.string(), z.any()),
@@ -91,7 +91,7 @@ export default function PipelineFormComponent({
: z.object({
basic: z.object({
name: z.string().min(1, { message: t('pipelines.nameRequired') }),
description: z.string().optional().default(''),
description: z.string().optional(),
emoji: z.string().optional(),
}),
ai: z.record(z.string(), z.any()).optional(),
@@ -253,7 +253,7 @@ export default function PipelineFormComponent({
function handleCreate(values: FormValues) {
const pipeline: Pipeline = {
config: {},
description: values.basic.description,
description: values.basic.description ?? '',
name: values.basic.name,
emoji: values.basic.emoji,
};
@@ -280,7 +280,7 @@ export default function PipelineFormComponent({
const pipeline: Pipeline = {
config: realConfig,
// created_at: '',
description: values.basic.description,
description: values.basic.description ?? '',
// for_version: '',
name: values.basic.name,
emoji: values.basic.emoji,