由于没有 minlength="" 用于输入,我如何制作一个执行以下操作的 if 语句:
如果用户没有输入超过 3 个字符,它将不会被保存在数据库中。
这是输入:
QTY<input title="QUANTITY PER ITEM" size="1" name="inputQTY" value="**(minimun of 3 characters)**"/>
有任何想法吗??
由于没有 minlength="" 用于输入,我如何制作一个执行以下操作的 if 语句:
如果用户没有输入超过 3 个字符,它将不会被保存在数据库中。
这是输入:
QTY<input title="QUANTITY PER ITEM" size="1" name="inputQTY" value="**(minimun of 3 characters)**"/>
有任何想法吗??
注意:输入字段是否有最小值限制无关紧要;用户仍然可以欺骗表单以包含他或她想要的任何值。因此,您需要在服务器端进行验证。
假设您使用 PHP 作为服务器端语言。
$inputQTY = $_POST['inputQTY'];
if (strlen($inputQTY) < 3) {
// DO NOT INSERT INTO DB
}
else {
// insert after further scrubbing input
}
表单验证是检查表单字段是否以正确格式填写的过程(如果它们是过程)。在您的问题中,正确的格式是“超过 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
对表单name
d的引用mainForm
,同时.inputQTY
查找该inputQTY
字段。您可以使用document.getElementsByTagName
手动查找这些元素,但编写该类型的代码会耗费 [时间和空间]。
由于某些用户禁用了 JavaScript,或者破解者故意禁用 JS 以绕过验证,因此您必须验证服务器端。
服务器端代码将是这样的:
if (strlen($_GET['inputQTY']) < 3) {
echo "ERROR: Must be more than 3 characters";
} else {
// submit data
}
注意:从头编写的代码,未经测试