Line 177 from the jQuery validation plug-in (1.6) contains:

   this.settings = $.extend( {}, $.validator.defaults, options );

This line will actually cause a bug if the page contains multiple forms of which input elements have the same name.
What happens is that the defaults are not copied deep enough which leaves (at least one) reference to the properties in the defaults property.
The reference to the “rules” property will cause every created form validation to add rules to this “defaults.rules” property.
Hence some forms get unnecessary or unwanted rules.Fix it by changing line 177 into:

   this.settings = $.extend(true, {}, $.validator.defaults, options );

Which performs a deep copy.

The next javascript snippet shows how a reference like this might cause issues (unless that’s what you really want).

$(document).ready(function() {
    options =  {
        property : 'normal prop',
        objectproperty : {prop1: 'prop1'}
    };

    var copy1 = $.extend({},options);
    var copy2 = $.extend({},options);

    //Adding to the objectproperty of the first copy will also alter the second :(
    copy1.objectproperty.prop2 = 'prop2';

    if (copy2.objectproperty.prop2) {
        alert('Without deepcopy there might possibly be unwanted object references!');
    }

    if (options.objectproperty.prop2) {
        alert('Hey look, also a new default option!');
    }
});

$(document).ready(function() {
    options =  {
        property : 'prop',
        objectproperty : {prop1: 'prop1'}
    };

    // target = $.extend(true,{}, source1 , source2, ..., sourceN)
    var copy1 = $.extend(true,{},options);
    var copy2 = $.extend(true,{},options);

    //alert('ready');
    copy1.objectproperty.prop2 = 'prop2';

    if (copy2.objectproperty.prop2) {
        alert('Not the place to be!');
    } else {
        alert('Now we got a nice deep copy without leftover object references!');
    }
});

http://plugins.jquery.com/node/12411