"use client" import { zodResolver } from "@hookform/resolvers/zod" import { Controller, useForm } from "react-hook-form" import { toast } from "sonner" import * as z from "zod" import { Button } from "@/registry/new-york-v4/ui/button" import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/registry/new-york-v4/ui/card" import { Field, FieldDescription, FieldError, FieldGroup, FieldLabel, } from "@/registry/new-york-v4/ui/field" import { Input } from "@/registry/new-york-v4/ui/input" const formSchema = z.object({ username: z .string() .min(3, "Username must be at least 3 characters.") .max(10, "Username must be at most 10 characters.") .regex( /^[a-zA-Z0-9_]+$/, "Username can only contain letters, numbers, and underscores." ), }) export default function FormRhfInput() { const form = useForm>({ resolver: zodResolver(formSchema), defaultValues: { username: "", }, }) function onSubmit(data: z.infer) { toast("You submitted the following values:", { description: (
          {JSON.stringify(data, null, 2)}
        
), position: "bottom-right", classNames: { content: "flex flex-col gap-2", }, style: { "--border-radius": "calc(var(--radius) + 4px)", } as React.CSSProperties, }) } return ( Profile Settings Update your profile information below.
( Username This is your public display name. Must be between 3 and 10 characters. Must only contain letters, numbers, and underscores. {fieldState.invalid && ( )} )} />
) }