(JQuery / PHP) Проверка данных перед отправкой - PullRequest
0 голосов
/ 23 января 2012

Каков наилучший подход для проверки данных ввода (формы) сразу после их ввода?

Моя идея в том, чтобы рядом с входом располагался 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 заботится о проверке и отображении данных.

Боюсь, есть гораздо лучший способ сделать это, я хотел бы знать, как лучше это сделать.

Ответы [ 2 ]

2 голосов
/ 23 января 2012

Абсолютно!

Вы можете выполнять большинство проверок строк с конца 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 в браузере может быть легко обойден.Вы хотите оптимизировать, делая меньше обращений к серверу и используя больше локальных ресурсов.

1 голос
/ 23 января 2012

Я настоятельно рекомендую использовать jQuery Validate , вам все равно нужно проверить на стороне php, но это сэкономит вам массу работы на стороне пользовательского интерфейса / jQuery

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...