I'm pretty new to jquery validation, but I had a similar issue to solve, I came up with the following solution (using previous answers for inspiration!):
Javascript:
jQuery.validator.addMethod("unique", function(value, element, params) {
var prefix = params;
var selector = jQuery.validator.format("[name!='{0}'][unique='{1}']", element.name, prefix);
var matches = new Array();
$(selector).each(function(index, item) {
if (value == $(item).val()) {
matches.push(item);
}
});
return matches.length == 0;
}, "Value is not unique.");
jQuery.validator.classRuleSettings.unique = {
unique: true
};
Usage:
<input name="currency1" unique="currency" />
<input name="currency2" unique="currency" />
Demo here: http://jsfiddle.net/mysteryh/bgzBY/
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…