"use client"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { z } from "zod"; import { Label } from "@/components/ui/label"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { cn } from "@/lib/utils"; import { toast } from "sonner"; const schema = z .object({ password: z.string().min(4, { message: "Password is more than 4 characters." }), confirmPassword: z .string() .min(6, { message: "Passwords didn't match." }), }) .refine((data) => data.password === data.confirmPassword, { message: "Passwords do not match.", path: ["confirmPassword"], }); const PasswordValidation = () => { const { register, handleSubmit, formState: { errors }, } = useForm>({ resolver: zodResolver(schema), }); function onSubmit(data: z.infer) { toast.message(JSON.stringify(data, null, 2)); } return (
{errors.password && (

{errors.password.message}

)}
{errors.confirmPassword && (

{errors.confirmPassword.message}

)}
); }; export default PasswordValidation;