2011-01-22 44 views
1

由于没有使用MINLENGTH =“”用于输入,分钟我怎么能做出的声明,如果执行以下操作:帮助的if语句 - 3个字符

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

这里是输入:

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

任何想法?

+1

把javascriptand PHP验证两个 – 2011-01-22 06:30:05

+0

回到谷歌和阅读如何验证数据的客户端和服务器端都。在将数据保存到数据库之前,即使您不知道验证过程是什么,也没有任何具体问题。我的建议是阅读验证数据的一些教程 – 2011-01-22 06:31:34

回答

-1

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

这是它是如何工作的:一个窗体有一个onsubmit事件处理程序,当用户单击提交或按下回车键时,将会触发onsubmitonsubmit是您放置表单验证代码的地方。

<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功能可以返回一个值:真让要提交的表单,或假停提交。

什么是document.forms.mainForm.inputQTY.value.length? document.forms.mainForm引用的形式为name d mainForm,而.inputQTY找到inputQTY字段。 您可以使用document.getElementsByTagName手动查找这些元素,但它是[时间和空间] - 用于编写该类型的代码。

因为有些用户禁用了JavaScript,或者crackers故意禁用JS来绕过验证,所以您必须验证服务器端。

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

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

注:代码从头写的,没有测试

2

注:如果有输入上的最小值限制也没关系领域与否;用户仍然可以欺骗表单以包含他或她想要的任何价值。因此,您需要在服务器端进行验证。

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

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

阅读:What's the best method for sanitizing user input with PHP?