Considérez ce scénario pour valider:
function validateForm (validCallback) {
$('#first-name').add($('#last-name')).add($('#address')).each(function () {
// validating fields and adding 'invalid' class to invalid fields.
});
// doing validation this way for almost 50 fields (loop over 50 fields)
if ($('#holder .invalid').length == 0) {
// submitting data here, only when all fields are validated.
}
}
Maintenant, mon problème est que, si le bloc if est exécuté avant que les boucles ne soient terminées. Je m'attendais à ce que le corps de validateForm
soit exécuté de manière synchrone, mais il semble que la fonction jQuery each()
soit exécutée de manière asynchrone. Ai-je raison? Pourquoi ça ne marche pas?