J'utilise jquery validate plugin pour valider une adresse e-mail par rapport à une base de données en utilisant la méthode distante de ce plugin.Avec JQuery Validation Plugin, je souhaite changer la méthode de validation à distance
Je dois vérifier l'adresse e-mail ne est pas déjà dans notre base de données. À l'origine, le script en combinaison avec le code côté serveur vérifie simplement l'adresse e-mail dans notre base de données et renvoie true ou false, cela fonctionne correctement.
Je dois maintenant ajouter une fonctionnalité supplémentaire car il est maintenant possible pour nous d'avoir la même adresse email dans la base de données deux fois aussi longtemps que le siteid de l'enregistrement est différent, c'est à dire un enregistrement pour [email protected] = site1 existe dans la base de données, vous ne pouvez pas ajouter à nouveau [email protected] avec siteid = site1, mais vous pouvez ajouter [email protected] avec siteid = site2.
J'ai confirmé que le code côté serveur fonctionnait et pour une adresse e-mail et un ID de site donné, il renvoie true ou false comme prévu.
Je souhaite revalider le champ de courrier électronique chaque fois que la zone de sélection siteid est modifiée. Pour l'instant il semble se souvenir de sa validation précédente (il est déjà validé au chargement) et n'est pas affecté par le changement de siteid, sauf si je change l'email de [email protected] à quelque chose d'autre, puis le change, puis il valide correctement pour le nouveau siteid. J'ai essayé une combinaison de supprimer des règles et d'ajouter des règles, rien ne semble fonctionner.
Aide!
<html>
<head>
<script type="text/javascript">
$(document).ready(function() {
var enquiryform = {
rules: {
email: {
required: true,
email: true,
remote: 'emailcheck2.asp?siteid=' + $('#siteid').val()
}
},
messages: {
email: {
remote: 'exists already!'
}
}
};
var validatedform = $(".validatedform").validate(enquiryform).form();
$("#siteid").bind("change", function(e){
enquiryform.rules.email.remote='emailcheck2.asp?siteid=' + $('#siteid').val();
});
});
</script>
</head>
<body class="contactadd">
</head>
<body>
<form method="Post" class="validatedform">
<input class="email" id="email" name="email" type="text">
<select id="siteid" name="siteid">
<option value="1">Site 1</option>
<option value="2">Site 2</option>
</select>
<input id="submitbutton" type="submit" value="Create">
</form>
</body>
</html>
cochez ceci, ça m'a aidé! http://www.opencoder.co.uk/2010/07/jquery-remote-form-validation/ –