Nick réponse correspond à la facture. J'avais besoin de comparer deux champs du formulaire et assurez-vous qu'ils n'étaient pas égales. Je l'ai modifiée un peu.
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != $(param).val();
}, "This has to be different...");
$("#cform").validate(
{
rules: {
referringsales: { required: false, notEqual: "#salesperson" }
}
});
Édité pour répondre à un commentaire:
Si vous avez plus d'un ensemble de listes déroulantes pour comparer, la méthode fonctionne également avec ce dossier.
jQuery.validator.addMethod("notEqual", function(value, element, param) {
return this.optional(element) || value != $(param).val();
}, "This has to be different...");
$("#cform").validate(
{
rules: {
referringsales: { required: false, notEqual: "#salesperson" }
DropDown2: { required: false, notEqual: "#SecondBase" }
}
});
Si la question concerne la comparaison referringsales contre 2 bases différentes (disons #initialContact et #vendeur), puis il suffit d'ajouter cette règle à la liste.
referringsales: { required: false, notEqual: "#salesperson", notEqual: "#initialContact" }