我有一个表单(现在只有一个,但会有更多具有相似参数的表单)并且我使用 jQuery Validation 对其进行验证(它 这个词太大了,我只使用 jQV 验证一个字段),此表单使用 AJAX 发送。我在这个表格中有 5 个输入:
文本输入:用户名,由单独的 PHP 脚本远程验证 - 它检查该用户是否存在于不同站点的数据库中,如果存在,还会检查该用户是否有一些指定的数据,但这并不重要
2 倍单选按钮(我的意思是 2x 2 单选按钮)在 PHP 中验证(稍后编写代码)
2 次 PickAColor 形式,也仅使用 PHP 和正则表达式对 hexcolors 进行验证
我有一个问题。有没有什么方法可以用更更复杂的方式在 PHP 中检查这些数据?因为,正如我所说,我以类似的方式验证它们:
if($period != "3month" && $period != "7day") {
echo '<div class="alert">Wrong period!</div>';
exit;
}
实际上我现在正在写的这个表格很短,但我也有一些非常大的表格,如果像上面这样的表格甚至可以占用 50 行,这很糟糕。它们中的大多数在 if 中都有类似的表达式,这意味着我检查表单发送的值是否在表单提供的可能选项列表中(有人可以更改 value 中的参数 Firebug 并称自己为黑客......)。这很复杂,我不知道怎么说,但我想你明白我的意思。所以,再一次 - 在 PHP 中验证它是否有意义?如果是,是否有更好的方法来验证它?或者您有其他建议吗?非常感谢您的帮助。
最佳答案
伙计,你必须认为你的用户可以在那里提交任何东西,为了使代码更清晰和更面向 MVC(和可重用),你需要在应用程序端进行验证,并在 jQuery 中使用通用函数来向用户显示错误,所以我建议您使用发送到您的 php 应用程序的表单进行 ajax 发布,发送到接收表单值的 api Controller ,使用模型进行验证并返回具有 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=""/>
然后您就有了一个验证码,您可以在提交表单时重复使用它。
关于php - 表单验证 - jQuery 验证是否足够以及如何巧妙地验证 PHP 中的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16845069/