// app/my-form.tsx "use client"; import { useForm } from "react-hook-form"; import { z } from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; export const myFormSchema = z.object({ firstName: z.string(), lastName: z.string(), email: z.string().email() }); export type MyFormFields = z.infer<typeof myFormSchema>; export default function MyForm() { const form = useForm<MyFormFields>({ resolver: zodResolver(myFormSchema), defaultValues: { firstName: "", lastName: "", }, }); return ( <form> <div> <label>First name</label> <input {...form.register("firstName")}> </div> <div> <label>Last name</label> <input {...form.register("lastName")}> </div> <div> <label>Email</label> <input {...form.register("email")}> </div> </form> ) }