选择必需的验证在表单中不起作用

Dhr*_*ani 5 html validation html-select required

“必需”验证适用于表单

<!DOCTYPE html>
<html>
<body>
<form action=''>
<select required>
  <option value="">None</option>
  <option value="volvo">Volvo</option>
  <option value="saab" >Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
</select>
<input type="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

但如果我将带有空值的选项向下移动到列表中,则不适用于相同的表单。

<!DOCTYPE html>
<html>
<body>
<form action=''>
<select required>
  <option value="volvo">Volvo</option>
  <option value="saab" >Saab</option>
  <option value="mercedes">Mercedes</option>
  <option value="audi">Audi</option>
  <option value="">None</option>
</select>
<input type="submit">
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

为什么?选择元素验证究竟是如何工作的?

参考如下:https : //www.w3schools.com/tags/att_select_required.asp

You*_*neL 9

以下来自 w3文档

必需的属性是一个布尔属性。指定后,用户将需要在提交表单之前选择一个值。

...

如果 select 元素的选项列表(如果有)中第一个 option 元素的值是空字符串

...

这意味着 required 属性仅在第一个元素的值为空时才起作用