1

由于没有 minlength="" 用于输入,我如何制作一个执行以下操作的 if 语句:

如果用户没有输入超过 3 个字符,它将不会被保存在数据库中。

这是输入:

 QTY<input title="QUANTITY PER ITEM" size="1"  name="inputQTY" value="**(minimun of 3 characters)**"/>

有任何想法吗??

4

2 回答 2

2

注意:输入字段是否有最小值限制无关紧要;用户仍然可以欺骗表单以包含他或她想要的任何值。因此,您需要在服务器端进行验证。

假设您使用 PHP 作为服务器端语言。

$inputQTY = $_POST['inputQTY'];
if (strlen($inputQTY) < 3) {
   // DO NOT INSERT INTO DB
}
else {
   // insert after further scrubbing input
}

阅读本文:使用 PHP 清理用户输入的最佳方法是什么?

于 2011-01-22T08:48:08.103 回答
-1

表单验证是检查表单字段是否以正确格式填写的过程(如果它们是过程)。在您的问题中,正确的格式是“超过 3 个字符”。当然,在表单验证过程中会涉及到 if 语句。在客户端,您使用 JavaScript 代码来验证表单字段。

下面是它的工作原理:一个表单有一个onsubmit事件处理程序,当用户点击提交或按下 Enter 时,onsubmit将被触发。onsubmit是您放置表单验证代码的位置。

<script>
function onsubmit() {
  if (document.forms.mainForm.inputQTY.value.length < 3) {
    alert("ERROR: Must be more than 3 characters");
    return false; // stops the form submission
  }
  return true;
}
</script>

这是添加 onsubmit 处理程序的方法

...

onsubmit函数可以返回一个值:true 让表单提交,或者 false 停止提交。

什么是 document.forms.mainForm.inputQTY.value.length?document.forms.mainForm对表单named的引用mainForm,同时.inputQTY查找该inputQTY字段。您可以使用document.getElementsByTagName手动查找这些元素,但编写该类型的代码会耗费 [时间和空间]。

由于某些用户禁用了 JavaScript,或者破解者故意禁用 JS 以绕过验证,因此您必须验证服务器端。

服务器端代码将是这样的:

if (strlen($_GET['inputQTY']) < 3) {
  echo "ERROR: Must be more than 3 characters";
} else {
  // submit data
}

注意:从头编写的代码,未经测试

于 2011-01-22T06:53:08.777 回答