📜  如何对 HTML 中的必填字段执行表单验证?(1)

📅  最后修改于: 2023-12-03 14:53:01.311000             🧑  作者: Mango

如何对 HTML 中的必填字段执行表单验证?

在 HTML 中,我们可以使用 required 属性来指定必填字段,但客户端验证并不总是可靠的。因此,我们需要在服务端对必填字段进行验证。以下是一些常见的验证方法:

1. JavaScript 验证

我们可以使用 JavaScript 来验证必填字段。以下是示例代码:

function validateForm() {
  var x = document.forms["myForm"]["fname"].value;
  if (x == "") {
    alert("Name must be filled out");
    return false;
  }
}

在上面的代码中,我们定义了一个名为 validateForm() 的函数,该函数检查字段 fname 是否为空。如果为空,则会显示一条警告消息并返回 false

我们可以将该函数绑定到表单的 onsubmit 事件中,如下所示:

<form name="myForm" onsubmit="return validateForm()" method="post" action="...">
  <label for="fname">Name:</label>
  <input type="text" id="fname" name="fname" required>
  <input type="submit" value="Submit">
</form>

在上面的代码中,我们使用 onsubmit="return validateForm()"validateForm() 函数绑定到表单的 onsubmit 事件中。当用户提交表单时,将执行该函数进行验证。

2. 后端验证

JavaScript 验证只能在客户端执行,而后端验证可以确保数据的一致性和安全性。以下是一个使用 PHP 进行后端验证的示例:

if (empty($_POST["fname"])) {
  $nameErr = "Name is required";
} else {
  $fname = test_input($_POST["fname"]);
}

在上面的代码中,我们检查 $_POST["fname"] 是否为空。如果为空,则设置一个名为 $nameErr 的错误消息。否则,我们可以将该值保存到 $fname 变量中。

我们可以在表单中显示错误消息,如下所示:

<form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
  <label for="fname">Name:</label>
  <input type="text" id="fname" name="fname" required>
  <span class="error"><?php echo $nameErr;?></span>
  <input type="submit" value="Submit">
</form>

在上面的代码中,我们使用 <?php echo $nameErr;?> 在表单中显示错误消息。

3. 使用插件

除了手动编写验证代码外,我们还可以使用现成的插件来验证表单。以下是一些常见的插件:

  • jQuery Validation:适用于 jQuery 的验证插件,提供丰富的验证方法和自定义错误消息。

  • Parsley.js:轻量级的表单验证库,支持自动检测 HTML5 表单验证属性和 AJAX 验证。

  • FormValidator.js:超轻量级的表单验证库,支持链式调用和自定义验证规则。

4. 总结

在表单中使用必填字段是确保数据的正确性和完整性的重要方式。虽然 HTML5 表单验证提供了一些内置的验证机制,但我们应该通过 JavaScript 或后端验证来确保数据的安全性。此外,使用现成的插件可以简化验证代码的编写过程,并提供更多的验证选项。