title: `.checkValidity()` with the HTML5 `pattern` attribute always returns true
body: <p>I’m using the below code snippet to check the validity of this input to make sure it does not contain any commas:</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>var valid_part = document.getElementById("part");
  
  if (valid_part.checkValidity()) {
    alert("Item Description contains no commas ");
  }
  else {
    alert("Item Description cannot contain a comma");
  }</code></pre>
  <pre class="snippet-code-html lang-html prettyprint-override"><code>&lt;input pattern="[^,]" type="text" id="part"&gt;</code></pre>
  </div>
  </div>
  </p>
  
  <p>However, <code>valid_part.checkValidity()</code> always returns true no matter what the input value is.</p>
  
  <p>I’ve tried this on Chromium and Firefox on Debian, and Chrome and Firefox on Android and the result is always the same.</p>
  
  <p>Is the function valid? If not, should I use an alternate method to check for commas in the input?</p>