title: HTML input type date is sometimes empty value if entered incorrectly
body: <p>There is a crazy thing happening with my input of type=date:</p>
  <p><div class="snippet" data-lang="js" data-hide="false" data-console="true" data-babel="false">
  <div class="snippet-code">
  <pre class="snippet-code-js lang-js prettyprint-override"><code>function getValue() {
    $('#entered').text($('input[name=test_date]').val());  
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;
  &lt;input type="date" min="2018-01-01" max="2018-05-05" name="test_date"&gt;
  &lt;button onclick="getValue()"&gt;Get value&lt;/button&gt;
  &lt;p&gt;Entered: &lt;span id="entered"&gt;&lt;/span&gt;&lt;/p&gt;</code></pre>
  </div>
  </div>
  </p>
  <p>If I enter an invalid value, it will change to a valid value automatically, but not always a true date. The max date is always 31.</p>
  <p>Ex:</p>
  <ul>
  <li>Enter: &quot;01/55/2018&quot; =&gt; &quot;01/31/2018&quot; -- True</li>
  <li>Enter: &quot;02/55/2018&quot; =&gt; &quot;02/31/2018&quot; -- False</li>
  </ul>
  <p>And In the case of False, both jQuery or PHP cannot get the value. It always returns <code>&quot;&quot;</code>.</p>
  <p>I want to get value even if it's invalid. Do you have any suggestion?</p>