(JQuery/PHP) 提交前验证数据

发布于 2024-12-28 06:58:44 字数 545 浏览 1 评论 0原文

在输入(表单)数据输入后立即对其进行验证的最佳方法是什么?

我的想法是在输入旁边有一个 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 负责验证和显示数据。

恐怕有更好的方法可以做到这一点,我想知道最好的方法是什么。

What's the best approach for validating input (form) data right after it's typed?

My idea is having a DIV right next to the input, this div is where we'll see a message saying whether data is valid or not, like:

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.";
?>

And PHP takes care of validating and displaying data.

I'm afraid there's a much better way for doing this, I'd like to know what's the best way to do this.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

清风疏影 2025-01-04 06:58:44

绝对地!

您可以从 JavaScript 端执行大部分字符串检查,以防止对服务器进行不必要的调用。您仍然保留 PHP 检查,但现在您希望将它们复制到 JavaScript 端,例如:

$("#data-validation").change(function(){
    if($(this).val().length >= 3) {
       $(this).load("data-validation.php?input="+$(this).val());
    } else {
       alert("Name must have at least 3 characters.");
    }
});

如果您有多个检查,则不要检查长度,而是检查在 JavaScript 端执行一系列任务的函数。不过,您希望确保您的 PHP 执行相同的操作,因为浏览器 JavaScript 可以轻松绕过。您希望通过减少对服务器的调用并利用更多本地资源来进行优化。

Absolutely!

You can do most of your string checks from the JavaScript end to prevent unnecessary calls to the server. You still keep your PHP checks but now you want to duplicate them to the JavaScript end, for example:

$("#data-validation").change(function(){
    if($(this).val().length >= 3) {
       $(this).load("data-validation.php?input="+$(this).val());
    } else {
       alert("Name must have at least 3 characters.");
    }
});

If you have several checks, instead of checking the length, check against a function that does a series of tasks on the JavaScript end. You want to make sure your PHP does the same thing though, as a browser JavaScript can easily by bypassed. You want to optimize by doing less calls to the server, and utilize more local resources.

冰魂雪魄 2025-01-04 06:58:44

我强烈建议使用 jQuery Validate 你仍然需要在 php 端进行验证,但是这将为您节省大量 UI/jQuery 方面的工作

I highly recommend using jQuery Validate you still need to validate on php side to but this will save you a ton of work on the UI / jQuery side of things

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文