risposta di Nick si inserisce il disegno di legge. Avevo bisogno di confrontare due campi sul modulo e assicurarmi che non fossero uguali. L'ho modificato solo un po '.
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" }
}
});
A cura di rispondere a un commento:
Se si dispone di più di una serie di menù a discesa per confrontare, il metodo funziona anche con questo caso.
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" }
}
});
Se la domanda è per quanto riguarda il confronto referringsales contro 2 basi diverse (dire #initialContact e #salesperson), poi semplicemente aggiungere che regola alla lista.
referringsales: { required: false, notEqual: "#salesperson", notEqual: "#initialContact" }
fonte
2011-08-17 15:45:20
alcuna possibilità di farcela case-insensitive? – compguy24
@ compguy24 Sarebbe 'return this.optional (elemento) || value.toLowerCase()! = param.toLowerCase(); 'nel' addMethod' – Isaiah
Grazie per la spiegazione! Non ho mai capito come funzionava fino ad oggi! Saluti! – Matias