title: jquery validation valid() always returns true and form's novalidate="novalidate" property is not created
body: <p>I am using <code>jquery.validate v1.14.0</code> by Jörn Zaefferer</p>
  
  <pre><code>&lt;script src="~/lib/jquery-validation/dist/jquery.validate.js"&gt;&lt;/script&gt;
  &lt;script src="~/lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js"&gt;&lt;/script&gt;
  </code></pre>
  
  <p>I have a project which all the validation worked correctly. When a required fields wasn't populated the client side validation would pick it up before the form was sumitted.</p>
  
  <p>However I moved all these forms to boostrap modals and a page's form gets loaded dynamically inside the modal via an ajax call. After this change my client side validation never fires and I also notice the validation plugin doesn't add the tag <code>novalidate="novalidate"</code> to the form like it did before.</p>
  
  <p>Here is my code simplified</p>
  
  <p>
  </p>
  
  <p>I then use the following jquery as I'd like to catch all form submits and do some additional logic:</p>
  
  <pre><code>   $(document).on('submit', '.formDetail', function (e) { 
  
          e.preventDefault();
  
          //added this to see if it would throw error but it doesn't
          var form = $(".formDetail");
          form.validate();
  
           //this is always true
           if ($(this).valid()) {
  
  
              $.ajax({
                  processData: false,
                  contentType: false,
                  data: new FormData(this),
                  type: $(this).attr('method'),
                  url: $(this).attr('action'),
                  success: function (data) {
                     //other logic
                   }
              }); 
           }
      });
  </code></pre>
  
  <p>If <code>String1</code> is left blank and  I submit and step through the javascript console '($(this).valid())' is alwasy <code>true</code>. If I change it to <code>($(".formDetail").valid())</code>  the result is  same i.e. always <code>true</code>. </p>
  
  <p>It also doesn't show the error message on screen before the HTTP POST like it did before I switched to dynamic ajax modal forms. </p>
  
  <p>How do I get <code>valid()</code> to work. There are no javascript error in my console when stepping through the code and <code>valid()</code> is always true which makes me no what causes validation to always be successful. 
  If the jquery validation plugin was not found I would surely get a javascript console error but I'm not.  </p>
  
  <p>I tried manually adding the <code>novalidate=novalidate</code> tag to the form but this doesn't help.I think the fact that this doesn't get populated tells me something is not right. 
  You can see in my code I did try to force the <code>validate()</code> but this didn't make a difference.</p>