A veces, el formulario no se envía porque jQuery tiene algunos elementos no válidos que no aparecerán en un mensaje de error.
¿Cómo podemos ver estos errores para depurar más fácilmente?
var validator = $("form").validate()
validator.errorList
mostrará la serie de errores que impiden que se envíe el formulario.
-
consola.log(validador); me abre nuevos horizontes 🙂
– Orhan
11 de febrero de 2014 a las 23:47
-
console.dir(foo) también es bueno (dependiendo de su navegador).
– Románulo
13 oct 2016 a las 23:24
-
2017 y esto me ahorró mucho tiempo!
– Izzy
26 de mayo de 2017 a las 8:51
-
2021 y esto también me ahorró mucho tiempo. ¡Gracias!
– jiraiya
11 de junio de 2021 a las 13:46
Esto me funciona para obtener una lista de errores de validación (identificadores de entradas de error y mensaje de error asociado):
if ($('#form').valid()) {
console.log('FORM VALID');
} else {
console.log('FORM INVALID');
var validator = $('#form').validate();
$.each(validator.errorMap, function (index, value) {
console.log('Id: ' + index + ' Message: ' + value);
});
}
var val = $("#form".validate());
console.log("error list", val);
para aquellos que no hacen que la lista de errores funcione de esa manera, simplemente vaya a la consola y haga clic en la lista de errores
errorList solo parece funcionar exactamente bien para mí después de ejecutar una llamada con valid() en ella.
var validator = jQuery('#form1').validate();
if(jQuery('#form1').valid()){
var submitErrorsList = new Object();
for (var i=0;i<validator.errorList.length;i++){
submitErrorsList[validator.errorList[i].element.name] = validator.errorList[i].message;
}
}
console.log("Submit Errors", submitErrorsList);