Je crée un formulaire de registre très simple avec seulement deux entrées et un bouton de soumission.
Le problème que je rencontre est qu'il ne complétera qu'une instruction if.Lutte avec validation de formulaire jQuery
Voici le jQuery j'ai fait:
$("#usernameError").hide();
$("#passwordError").hide();
$("#registrationSubmit").click(function(){
if($("#username").val() == ""){
$("#usernameError").show();
return false;
}
if($("#passwordReg").val() == ""){
$("#passwordError").show();
return false;
}
});
Et voici le code HTML en utilisant bootstrap:
<div class="modal fade" id="add-admin-modal">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header admin">
Please Enter Details
</div>
<div class="modal-body admin">
<form id="registrationForm" action="registerAction.php" method="post">
<div class="form-group">
<label for="">Username</label>
<input name="username" type="username" class="form-control" id="username" aria-describedby="emailHelp" placeholder="Enter Username">
<div id="usernameError" class="alert alert-danger pad" role="alert">A Username is required!</div>
</div>
<div class="form-group">
<label for="password">Password</label>
<input name="password" type="password" class="form-control" id="passwordReg" placeholder="Password">
<div id="passwordError" class="alert alert-danger pad" role="alert">A Password is required!</div>
</div>
<div class="form-group">
<button type="submit" id="registrationSubmit" name="registrationSubmit" class="btn btn-success">Ok</button>
<button class="btn btn-default" data-dismiss="modal">Cancel</button>
</div>
</form>
</div>
</div>
</div>
</div>
<script src="validations.js"></script>
Le script validera le nom d'utilisateur et montrer l'erreur, mais ne fait rien avec le mot de passe.
Est-ce parce que j'utilise return false
pour empêcher le formulaire de soumission?
Que puis-je utiliser à la place?
Je ne comprends pas pourquoi vous avez accepté la réponse qui suggère d'enlever les retours ... Ce code fonctionne très bien. Il n'y a pas de problème avec 'return false;'. Voir ceci [** CodePen **] (https://codepen.io/Bes7weB/pen/vZPrjx?editors=1011) où j'empêche le soumettre seulement parce que la démo est sur Codepen. --- Je suggérerais une partie 'else' à ceux' if', pour supprimer les messages d'erreur ... C'est la seule chose. --- En fait, supprimer les retours supprime aussi l'effet de validation. Le formulaire est soumis même s'il y a un champ vide. –
Soumettez votre formulaire avec les deux entrées vides, il vient seulement avec l'erreur du nom d'utilisateur, pas les deux. Le problème que j'avais était d'afficher les deux si tous les deux devaient être affichés. –
Il n'y a absolument rien dans votre question à propos du plugin jQuery Validate. S'il vous plaît soyez plus prudent lors de l'étiquetage. Édité. – Sparky