Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
¿Cómo puedo enviar un formulario usando JavaScript mientras sigo ejecutando validaciones HTML (longitud mínima, longitud máxima, patrón...)

Estoy usando ReCAPTCHA, lo que significa que tengo que enviar el formulario desde JS, no HTML, pero HTMLFormElement.submit() no confirma que el formulario sea válido primero y he escrito algunas comprobaciones que me gustaría que siguieran siendo efectivas. Las únicas soluciones que veo son para escribir todos los controles en JS (para las personas que desean controles personalizados) y los que usan JQuery. Ninguna de las soluciones parece tener los mensajes de error con estilo de navegador que se muestran debajo del campo que no es preferible. ¿Hay una forma sencilla de hacer esto o tengo que hacer algo como iterar sobre todos los campos y validarlos manualmente? Preferiblemente, también me gustaría ejecutar las comprobaciones antes de que ReCAPTCHA incluso genere una puntuación, pero dudo que esto sea posible debido a lo limitada que parece ser la API de ReCAPTCHA. Vale la pena señalar que ya validé manualmente los valores del lado del servidor, ya que soy consciente de que sería fácil para las personas sortear estos controles, pero me gustaría evitar solicitudes POST innecesarias y poder usar el estilo del navegador. error de mensajes.

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

En primer lugar, tiene demasiadas preguntas/problemas en una publicación. Normalmente se espera que trates de resolver las cosas por tu cuenta tanto como puedas antes de preguntar. Aquí hay algunos problemas que recogí:

  1. El proceso de validación del formulario no entra en conflicto con el proceso de envío del formulario.
  2. Si recaptcha va antes o después de la validación no es un problema importante, pero la gran mayoría de los formularios en los que se usa, lo hacen después de la validación.
  3. Intente evitar el uso de JQuery, ya que agrega una dependencia innecesaria. Pure JS es igual de poderoso.
  4. Si desea un mensaje de error con un estilo agradable, ese es un problema completamente diferente que no tiene relación con el recaptcha o el envío de formularios. Ahora estás hablando de edición y estilo de DOM.
  5. Ejecutar algo antes de recaptcha es una cuestión de tiempo en lugar de limitaciones de la API de Recaptcha. Está completamente en tu poder.
  6. La validación del lado del servidor y la validación del lado del cliente son necesarias, pero en gran medida desempeñan diferentes roles: el cliente es más para informes de errores fáciles de usar, mientras que el servidor es una validación real de la entrada del usuario. Es una buena práctica mantenerlos en estrecha sincronización. Entonces, tener la validación BE no lo exime de tener la validación FE.
  7. No necesita solicitudes POST adicionales para la validación de FE. Se necesita comunicación adicional con el back-end durante la validación para cosas que el cliente no puede validar.
  8. Finalmente, puede hacer su validación antes de enviar la carga útil al servidor. Sugiero mirar el concepto de asíncrono: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/async_function Esto es para enviar su formulario después de que llegue la respuesta de Recaptcha y después de usted. Ha terminado con su validación de FE. Promises es como suele ser cómodo trabajar con: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda