jquery validation valid() always returns true and form's novalidate="novalidate" property is not created
<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>