snapshot of https://github.com/shadcn-ui/ui.git (main, 2026-09-15; blobs > 131072B omitted)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
"use server"
|
||||
|
||||
import { formSchema, type FormState } from "./form-next-complex-schema"
|
||||
|
||||
export async function complexFormAction(
|
||||
_prevState: FormState,
|
||||
formData: FormData
|
||||
) {
|
||||
// Sleep for 1 second
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000))
|
||||
|
||||
const values = {
|
||||
plan: formData.get("plan") as FormState["values"]["plan"],
|
||||
billingPeriod: formData.get("billingPeriod") as string,
|
||||
addons: formData.getAll("addons") as string[],
|
||||
emailNotifications: formData.get("emailNotifications") === "on",
|
||||
}
|
||||
|
||||
const result = formSchema.safeParse(values)
|
||||
|
||||
if (!result.success) {
|
||||
return {
|
||||
values,
|
||||
success: false,
|
||||
errors: result.error.flatten().fieldErrors,
|
||||
}
|
||||
}
|
||||
|
||||
// Do something with the values.
|
||||
// Call your database or API here.
|
||||
|
||||
return {
|
||||
values,
|
||||
errors: null,
|
||||
success: true,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user