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

261
Vistas
Yii2 valida un ActiveForm con javascript

Tengo un formulario activo en funcionamiento, que se puede enviar y validar a través de Yii PHP. Sin embargo, me gustaría determinar si el formulario es válido al hacer clic en el botón Next .

Puedo pasar mensajes de error al usuario a través de esto:

 $("#form").yiiActiveForm("validate", true);

Pero esta función no devuelve nada; No sé si realmente hay errores o no. Intenté esto:

 $error_count = document.getElementsByClassName("help-block").length

Pero esto no funciona; los errores se cuentan antes de que se actualice la interfaz de usuario. Si presiono el botón nuevamente, una segunda vez, entonces error_count es lo que esperaría.

Esto no parece hacer nada:

 $("#form").yiiActiveForm("validate");

También probé esto:

 $('#form').on('afterValidate', function (event, messages, errorAttributes) {}

Pero esto solo se activa después del hecho, así que no estoy seguro de qué hacer.

Cualquier consejo sería apreciado.

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

0

Si necesita reaccionar al botón, simplemente necesita combinar ambos eventos:

 let isNextClicked = false; $('.next-btn').on('click', function(e) { e.preventDefault(); isNextClicked = true; $("#form").yiiActiveForm("validate", true); }); $('#form').on('afterValidate', function(event, messages, errorAttributes) { if (!isNextClicked) { //validation wasn't triggered by clicking next return; } // reset the state isNextClicked = false; if (errorAttributes.length > 0) { //there are errors so we won't let user to continue //we can also show some alert() here return; } // ... code to show the next tab of form ... });
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