在需要 "select" 或 "input" 时验证表单

Validating a form when either a "select" OR "input" is required

我有一个包含多个表单的页面,所有表单都不同,当提交一个表单时,我使用下面的函数使用 class "required" 从该表单收集所有输入并检查是否为空值:

function validateForm(form) {
  var inputs = form.getElementsByTagName('input');
  var selects = form.getElementsByTagName('select');
  var errors = 0;

  for (var i = 0; i < inputs.length; i++) {
    if(inputs[i].classList.contains('required')) {    
      if(inputs[i].value === "") {
        inputs[i].classList.add("warning");
        errors++;
      } else {
        inputs[i].classList.remove("warning");
      }
    }
  }
  if(errors) {
    return false;
  } else {
    return true;
  }
}

如果它找到一个空值,它会添加 class "warning" 这只会给输入一个红色边框,然后 returns false 这样表单就不会被提交。

这就是我 运行 遇到麻烦的地方:一些表单包含一个