我正在 NextJS 中创建一个应用程序,当我从表单提交信息时,NextJS 在我传递表单之前就认为表单中的所有数据都是
null
。这是我的action.ts
:
'use server';
import { date, z } from 'zod';
import { sql } from '@vercel/postgres';
import { redirect } from 'next/navigation'
const FormSchema = z.object({
id: z.string(),
name: z.string(),
email: z.string(),
phone: z.string(),
date_rsvp: z.date(),
ticket_status: z.boolean(),
});
const AddAttendee = FormSchema.omit({ id: true });
export async function addAttendee(formData: FormData) {
var tistat = form;
if (formData.get("ticket_status") === true) {
const tistat = true;
} else if (formData.get("ticket_status") === 2) {
const tistat = false;
}
const { name, email, phone, date_rsvp, ticket_status } = AddAttendee.parse({
name: formData.get("name"),
email: formData.get("email"),
phone: formData.get("phone"),
date_rsvp: new Date(formData.get("date_rsvp")),
ticket_status: tistat,
});
const date = new Date().toISOString().split('T')[0];
await sql`
INSERT INTO "Attendee" (name, phone, email, ticket_status, date_rsvp)
VALUES (${name}, ${phone}, ${email}, ${ticket_status}, ${date_rsvp})
`;
redirect("/dashboard/attendees")
}
正如您所知,没有任何数据是
null
,因为我验证它不是表格中的 null
。
任何帮助将不胜感激!
你猜怎么着!我通过删除给我带来麻烦的字段来修复它。