【发布时间】:2012-01-22 21:36:14
【问题描述】:
在输入数据后立即验证输入(表单)数据的最佳方法是什么?
我的想法是在输入旁边有一个 DIV,在这个 div 中我们会看到一条消息,说明数据是否有效,例如:
Your name:
<input type="text">
<div id="data-validation"></div>
<script>
$("input").change(function(){
$("#data-validation").load("data-validation.php?input="+$(this).val());
});
</script>
//data-validation.php
<?php
$input = $_GET["input"];
if(strlen($input) < 3)
echo "Name must have at least 3 characters.";
?>
PHP 负责验证和显示数据。
恐怕有更好的方法可以做到这一点,我想知道最好的方法是什么。
【问题讨论】:
-
对于“按输入”阶段的验证,如果您的验证规则只是关于字符数、格式和/或数据类型,我建议您全部使用 JavaScript。如果您出于某种原因想要检查数据库(例如,验证街道地址或其他东西)那么您可以使用类似于您的示例的 Ajax/PHP。请注意,您的示例中的
.change()事件将永远不会被触发,因为您已将其设置在 div 而不是输入上。此外,请注意,一旦实际提交表单,您应该始终(重新)验证 所有 PHP 中的字段。 -
是的,你是对的。我还必须在提交后重新验证所有数据,否则很容易被破解。谢谢。
标签: php jquery html forms input