Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

173
Views
Escuche el evento HTML 'onInvalid' para un <form>

Me gustaría agregar un detector de eventos para cuando un usuario intenta enviar un <formulario> que tiene errores de validación.

¿Hay alguna forma de hacerlo de forma fiable y accesible?

Soluciones que consideré (ninguna de ellas es buena):

  1. Agregando el detector de eventos 'enviar' a <formulario>.

    Esto no funciona ya que 'enviar' solo se activa para formularios válidos.

  2. Los elementos HTML <input> que tienen errores de validación activan un evento 'no válido' cuando el usuario intenta enviar un formulario.

    El evento no burbujea, así que no puedo escucharlo así: form.addEventListener('invalid', callback);

    Por lo tanto, escuchar el evento 'no válido' requiere agregar un detector de eventos 'no válido' para cada <entrada> dentro del formulario cuando se crea ese campo. Es fácil olvidarse de agregar un detector de eventos a un campo, ya que los campos se crean dinámicamente en muchos archivos .js y .tsx diferentes, por lo que esta solución es propensa a errores y está lejos de ser ideal.

  3. Escuchando el evento 'clic' en el botón de envío y en la devolución de llamada verificando si form.checkValidity() es falso.

    Esta solución tampoco es ideal, ya que el software de lectura de pantalla y otras tecnologías de asistencia no activarán necesariamente el evento 'clic' al intentar enviar el formulario.

¿Hay alguna buena manera de saber si un usuario intenta enviar un formulario no válido?

Estoy bien con una solución que involucre React, jQuery o JavaScript nativo.


Si este problema no es bueno, considere mi caso de uso y diga si hay un enfoque alternativo:

Necesito agregar estilo a los campos de formulario no válidos solo después de que el usuario haya intentado enviar un formulario.

about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!