我有一个表单(现在只有一个,但是会有更多的类似参数),我使用jQuery验证来验证它(这太大了,我只使用jQV验证一个字段),这个表单是使用AJAX发送的。在这个表格中,我有五个输入:
我有个问题。有什么方法可以用更复杂的方式检查PHP中的数据吗?因为,正如我所说,我以类似的方式验证它们:
if($period != "3month" && $period != "7day") {
echo '<div class="alert">Wrong period!</div>';
exit;
}实际上,我现在写的这个表格很短,但是我也有一些很大的,如果是这样的话,上面的50行都行,这太糟糕了。它们中的大多数在if中都有类似的表达式,这意味着我检查由表单发送的值是否在表单提供的可能选项列表中(有人可以更改Firebug中的值参数并称自己为黑客.)。这很复杂,我不知道怎么说,但我想你明白我的意思。那么,再一次--在PHP中验证它有意义吗?如果有,是否有更好的方法来验证它?或者你还有其他建议?非常感谢你的帮助。
发布于 2013-05-30 21:22:15
您必须认为您的用户可以在那里提交任何内容,并且为了使代码更清晰、更面向MVC (和可重用),您需要在应用程序端进行验证,并在jQuery中使用通用函数来向用户显示错误,因此我建议您使用发送到php应用程序的表单进行ajax发布,发送到一个api控制器,该控制器接收表单值,使用模型验证对象,并使用jew表单值(如果需要清理)和每个字段的任何错误返回对象,然后用json输出:
{
errors: {
name: "Already used name",
field2: "Some bad text provided"
}
}然后循环遍历错误并设置为每个错误文本的已经存在的占位符,如下
<spam id="name-error" class="error"></spam>
<input type="text" name="name" value=""/>然后,您有一个验证代码,可以在表单提交时重用。
https://stackoverflow.com/questions/16845069
复制相似问题