title: Issues while switching from jQuery Validate 1.7 to 1.11
body: <p>We just moved our application from jQuery Validate 1.7 to 1.11 and modified the code in all the Views to be in sync with the 1.10 version. </p>
  
  <p>However, for a scenario, <code>validate.js</code> is throwing null object exception. </p>
  
  <p>I have narrowed down to a function in js from which this exception is thrown but unable to reach the specific LOC that is causing the issue / is incompatible with the new version.</p>
  
  <p>While troubleshooting, I used the 1.7 version of <code>validate.js</code> and everything seems to work fine.</p>
  
  <p>Could anyone share any information on how can I debug(tool/any other way) or resolve this issue?</p>
  
  <p>Note: I can not share the code.</p>
  
  <p><strong>Resolution:</strong>
  Please let me know, if this is the right way to solve this issue or i need to change my algorithm.</p>
  
  <p>This issue was coming up while moving from Case 2 to Case 1(see comment in question) as in this scenario , only the checked 'check-boxes' are posted back to the server instead of the group. </p>
  
  <p>So, validationtargetFor fails in validate.js as the passed in element is a control and not a group so <code>index [0]</code> throws error</p>
  
  <pre><code>validationTargetFor: function (element) {
              // if radio/checkbox, validate first element in group instead
  
          if ( this.checkable(element) ) {
           element = this.findByName( element.name ).not(this.settings.ignore)[0];
          }
          return element;
          },
  </code></pre>
  
  <p>Changed it to: </p>
  
  <pre><code>validationTargetFor: function (element) {
              // if radio/checkbox, validate first element in group instead
  
              if (this.checkable(element)) {
                  if (this.findByName(element.name).not(this.settings.ignore)[0] == undefined)
                      return element;
                  else
                      return this.findByName(element.name).not(this.settings.ignore)[0];
              }
  
              return element;
          },
  </code></pre>