title: multi-part form permit sending unfilled params, param is missing or the value is empty
body: <p>I have a form with some required inputs. When I have multi-part set to true and all my field are empty, the submit is done with no value in the params.</p>
  
  <pre><code>&lt;form class="simple_form form-horizontal ng-pristine ng-valid" role="form" novalidate="novalidate" id="new_coupon" enctype="multipart/form-data" action="/coupons" accept-charset="UTF-8" method="post"&gt;&lt;input name="utf8" type="hidden" value="✓"&gt;&lt;input type="hidden" name="authenticity_token" value="Ssr+XnrLBfHur1C43sIfh3mJihR0MrrLdeubEaJXcoMhrjl7wZcJF4ox+54uQ+ebkg+EZzIVV9X6iLaZSHcNKQ=="&gt;
    &lt;div&gt;
      &lt;label class="string required control-label" for="coupon_title"&gt;&lt;abbr title="required"&gt;*&lt;/abbr&gt; Titre du bon plan&lt;/label&gt;
      &lt;input class="string required form-control" type="text" value="" name="coupon[title]" id="coupon_title"&gt;&lt;span class="help-block"&gt;doit être rempli(e)&lt;/span&gt;
    &lt;/div&gt; 
    &lt;div class="form-group"&gt;
      &lt;input type="submit" name="commit" value="Enregistrer mon bon plan" data-disable-with="Enregistrer mon bon plan"&gt;
    &lt;/div&gt;
  &lt;/form&gt;
  </code></pre>
  
  <p>When I remove the enctype attribute, it worked and im not redirected if they are empty.</p>
  
  <p>My params look like this when the enctype is on:</p>
  
  <pre><code>{"utf8"=&gt;"✓", "authenticity_token"=&gt;"qqLfnvg/qzHcdAYAaKJYyIGal6zkCKllW0ttRoVAba7Bxhi7Q2On17jqrSaYI6DUahyZ36IvRHvUKEDOb2ASBA==", "commit"=&gt;"Enregistrer mon bon plan"}
  </code></pre>
  
  <p>As you can see, the param coupon that I'm sending is missing</p>
  
  <p>Someone understand what should I do to validate my form?</p>