2010-11-22 6 views
2

j'ai le code ci-dessous pour valider un champ obligatoire:jQuery: validation ne fonctionne pas avant d'essayer de soumettre

$(document).ready(function(){ 
    $("#gestione_profilo").validate({ 
    rules: { 
        'person_data[document_number]': "required" 
    } 
    }); 

Quand je montre la forme et de supprimer la valeur de ce champ, il ne montre pas le message "Obligatoire". Mais après avoir essayé de soumettre le formulaire sans la valeur insérée, il affiche le message "Obligatoire" correctement chaque fois que le champ est vide.

Une idée de pourquoi cela ne fonctionne pas avant d'essayer de sumbiter le formulaire?

Cordialement

Javi

Répondre

0

La fonction prête jquery est évaluée qu'une seule fois, lorsque le html DOM est prêt; juste comme javascript onload etc. Je pense que ce que vous devez implémenter est jquery .change() événement, donc la règle de validation est vérifiée chaque fois que le champ est changé ...

1

Je pense que vous pourriez utiliser la fonction de clé ici:

$("input").keyup(function() { 
    ...validate form here 
}); 
0

Vous pouvez appeler .valid() pour déclencher la validation de la chauve-souris, comme ceci:

$(document).ready(function() { 
    $("#gestione_profilo").validate({ 
     rules: { 
      'person_data[document_number]': "required" 
     } 
    }); 
    $("#gestione_profilo").valid(); 
}); 

You can test it out here.

2
$('#homepage_enquiry :input.required').blur(function(){}).valid(); 

Cela fonctionnera également, mais seulement après qu'ils ont essayé d'entrer quelque chose. La fonction de flou fonctionne quand ils s'éloignent de la boîte de saisie je pense. Je l'ai préféré car je ne voulais pas qu'il montre des erreurs avant l'entrée.

Questions connexes