Estaba haciendo la validación de formularios en reaccionar con el paquete npm de forma de gancho de reacción. Tiene campos como Nombre, Apellido, Correo electrónico, Contraseña y Confirmar contraseña. Cuando hago clic en enviar, será manejado por handleSubmit from useForm() hook. Pero no quiero incluir el valor de Confirmar contraseña archivada en los datos que obtuve después de enviar el formulario.
Aquí he compartido el código que he escrito ...
<Grid item xs={12}> <TextField required fullWidth name="password" label="Password" type="password" id="password" autoComplete="new-password" {...register("password", { required: "Required"})} error={!!errors.password} helperText={errors?.password ? errors.password.message : null} /> </Grid> <Grid item xs={12}> <TextField required fullWidth name="confirmPassword" label="Confirm Password" type="password" id="confirmPassword" {...register("confirmPassword", { required: "Required", validate: (val) => { if(watch('password') != val) { return "Password does not match" } } })} error={!!errors.confirmPassword} helperText={errors?.confirmPassword ? errors.confirmPassword.message : null} /> </Grid>Puede eliminar esos campos en la devolución de llamada de handleSubmit:
const onSubmit = (data) => { delete data.confirmPassword; alert(JSON.stringify(data)); };ejemplo práctico: https://codesandbox.io/s/react-hook-form-handlesubmit-v7-uqmiy?file=/src/index.jsx:195-230 otra opción para cancelar el registro:
<div> <label htmlFor="password">Password</label> <input type="password" {...unregister("password")} placeholder="" /> </div>