使用HTML5一次验证所有字段,而不是一次验证一个

Man*_*023 11 css validation html5

有没有办法让HTML5一次验证所有字段而不是一次验证?

使用几行JavaScript是可以的,但我真的不想使用整个模块.

我搜索了很多,但找不到一个干净的解决方案.

这是一个示例表单:

<html>
   <head>
      <title>Validation Test</title>
      <link href="css/style.css" rel="stylesheet">
   </head>
   <body>
      <form action="" id="myForm" method="post">
         <input id="name" name="name" required type="text">
         <input id="phone" name="phone" required type="text">
         <input type="submit" value="Submit">
      </form>
   </body>
</html>
Run Code Online (Sandbox Code Playgroud)

Css文件:

input:focus:required:invalid {
   border: 2px solid red !important;
}
Run Code Online (Sandbox Code Playgroud)

建议作为可能重复的帖子是为一个字段设置多个验证条件,我希望一次验证/显示所有无效字段.

Wha*_*ied 1

如果您不想使用 jQuery,那也没关系。您可以使用 vanilla js 事件处理程序和 DOM 选择器轻松完成此操作。我使用 jQuery 是为了节省时间。

$('#myForm').on('submit', function() {
  var $inputs = $(this).find(':input'),
      isValid = true;

  $inputs.each(function() {
    if ($(this).val() == '') {
      isValid = false;
      $(this).addClass('error-control');
    } else {
      $(this).removeClass('error-control');
    }
  });

  return isValid  
});
Run Code Online (Sandbox Code Playgroud)