Estoy usando jQuery-steps en una base de código heredada.
El punto es que estoy tratando de hacerlo dinámico y estoy atascado en la naturaleza asincrónica de la validación de formularios.
Este complemento crea un formulario de varios pasos y puede hacer clic en Siguiente para navegar a la siguiente pestaña.
Sin embargo, existe esta onStepChanging: function (event, currentIndex, priorIndex) que se puede usar para evitar la navegación a la siguiente pestaña, si el formulario no es válido.
Funciona muy bien para campos sincrónicos. Es decir, este código funciona muy bien:
onStepChanging: function (event, currentIndex, newIndex) { if ($('#username').val() === '') { return false; } return true; }Pero este código no funciona:
onStepChanging: function (event, currentIndex, newIndex) { fetch('/validate?username=' + $('#username').val()) .then(function(result) { if (result == 'valid') { return true; } return false; }); } Este segundo código no funciona porque no espera el resultado del método de fetch .
¿Cómo puedo obligarlo a esperar el resultado de la búsqueda y luego regresar?