Me pregunto cómo verificar si 2 entradas son iguales. Quiero decir que quiero hacer una validación de formulario en la que verificaré si la primera entrada es la misma que la segunda. ¿Alguien sabe como hacerlo?
import React from "react"; import { useForm } from "react-hook-form"; export default function App() { const { register, handleSubmit, formState: { errors }, } = useForm(); const onSubmit = (data) => console.log(data); return ( <form onSubmit={handleSubmit(onSubmit)}> <label> Mail: <input {...register("mail", { required: true })} /> </label> {errors.mail && <p>Mails are not matching</p>} <label> Confirm mail: <input {...register("mail", { required: true })} /> </label> {errors.mail && <p>Mails are not matching</p>} <button type="submit">Send</button> </form> ); }Si algo no está claro, no dude en preguntar :)
Es bastante simple. obtiene los valores en onSubmit = (data) para que pueda acceder a los campos desde allí.
tampoco puede tener 2 campos registrados con el mismo nombre. Puedes hacerlo:
<label> Mail: <input {...register("mail", { required: true })} /> </label> {errors.mail && <p>Mails are not matching</p>} <label> Confirm mail: <input {...register("confirmMail", { required: true })} /> </label>y para el emparejamiento, aquí hay un ejemplo de cómo lo haces
const { mail, confirmMail } = data; if (mail !== confirmMail) { // Codes here }