"use client"; import { FormEvent, Fragment, useEffect, useRef, useState } from "react"; import { Controller, useForm } from "react-hook-form"; import * as z from "zod"; import { zodResolver } from "@hookform/resolvers/zod"; import Swal from "sweetalert2"; import withReactContent from "sweetalert2-react-content"; import { Input, Textarea } from "@nextui-org/input"; import { Button } from "@nextui-org/button"; import { Radio, RadioGroup } from "@nextui-org/react"; const formSchema = z.object({ fullname: z.string().min(1, { message: "Harus diisi", }), username: z.string().min(1, { message: "Harus diisi", }), email: z .string() .email({ message: "Email tidak valid", }) .min(2, { message: "Harus diisi", }), nrp: z.string().min(1, { message: "Harus diisi", }), gender: z.string().min(1, { message: "Harus diisi", }), phoneNumber: z.string().min(1, { message: "Harus diisi", }), }); export default function ProfileForm() { const MySwal = withReactContent(Swal); const formOptions = { resolver: zodResolver(formSchema), }; type UserSettingSchema = z.infer; const { register, control, handleSubmit, formState: { errors }, setValue, getValues, watch, setError, clearErrors, } = useForm(formOptions); const onSubmit = async (values: z.infer) => { console.log("values"); }; return (

Nama Lengkap

( )} /> {errors?.fullname && (

{errors.fullname?.message}

)}

Username

( )} /> {errors?.username && (

{errors.username?.message}

)}

Email

( )} /> {errors?.email && (

{errors.email?.message}

)}

NRP

( )} /> {errors?.nrp && (

{errors.nrp?.message}

)}

Gender

( Laki-laki Perempuan )} /> {errors?.gender && (

{errors.gender?.message}

)}
); }