How to Use the "required" Attribute on the <select> Element in HTML5

Solution with pure HTML

When the HTML required attribute is specified, the user should select a value before submitting the form.

The required attribute works only on empty values. So, you must leave the first value of the <select> element empty.

Example of applying the required attribute to the <select> element:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <form action="/form/submit" method="post">
      <select name="books" required>
        <option value="">Books</option>
        <option value="html">HTML</option>
        <option value="css">CSS</option>
      </select>
      <input type="submit">
    </form>
  </body>
</html>

Result

In the next example, we use two <select> elements, but the required attribute is only applied to the first <select> element.

Example of using the <select> element with and without the required attribute:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
  </head>
  <body>
    <h2>W3docs</h2>
    <form action="/form/submit" method="post">
      <section>
        <h3>Books</h3>
        <select name="books" required>
          <option value="">None</option>
          <option value="html">HTML</option>
          <option value="css">CSS</option>
        </select>
      </section>
      <section>
        <h3>Snippets</h3>
        <select name="snippets">
          <option value="">None</option>
          <option value="html">HTML</option>
          <option value="css">CSS</option>
        </select>
      </section>
      <br>
      <input type="submit" value="Submit">
    </form>
  </body>
</html>