Проверка правильности ввода формы на стороне клиента (JS) и на стороне сервера - PullRequest
1 голос
/ 04 февраля 2011

Я делаю форму на сервере с использованием PHP, но я думаю об использовании jQuery для отправки формы.

Итак, какой вариант лучше? PHP-скрипт, который принимает форму, проверяет вещи прямо здесь и отправляет сообщения, когда что-то не так, или jQuery-скрипт, который отправляет форму без перезагрузки? Каковы плюсы и минусы? Заранее спасибо!

Ответы [ 6 ]

6 голосов
/ 04 февраля 2011

Вы должны сделать оба!

Проверка на стороне сервера всегда более безопасна , чем на сайте клиента.

Проверка сайта клиента отлично подходит для удобства использования 1008 *, потому что пользователь получит мгновенную обратную связь от сценария, если что-то пойдет не так.И пользователю не нужно сначала отправлять данные на сервер, прежде чем он получит некоторую обратную связь.

2 голосов
/ 04 февраля 2011

Я всегда ставлю проверку на стороне сервера как минимум, так как логика на стороне клиента в конечном счете ненадежна (что произойдет, если кто-то отключит javascript? Открывает firebug, чтобы что-то изменить?).Я рассматриваю проверку на стороне клиента как бонус для UX.Это не значит, что вы не можете использовать что-то вроде jQuery validate плагин для добавления клиентской логики поверх него, но я бы не стал полагаться only на клиентскую логику.

Я полюбил MVC Famework от Microsoft, потому что версия 3 имеет очень приятную интеграцию между логикой проверки на стороне сервера и плагином проверки JQuery.Давно не смотрел, но может быть что-то подобное в PHP-фреймворке?

1 голос
/ 04 февраля 2011

Никогда не доверяй клиенту.Таким образом, проверка формы JavaScript может быть только плюсом для удобства пользователя, но никогда не может быть вашим единственным механизмом проверки.Имея немного знаний о webdev, вы можете работать с JavaScript и отправлять формы с данными, которые вам нравятся.

Проверка JavaScript с информативными сообщениями может быть огромным плюсом для пользователей, поэтому вы обязательно должны рассматривать это как уровень пользователяпроверка.

Кроме того, помните, что могут быть пользователи, которые не используют JavaScript по умолчанию.

0 голосов
/ 05 февраля 2011

Проверка на стороне клиента не имеет отношения к безопасности .Его целью является только повышение производительности для улучшения взаимодействия с пользователем.

Проверка на стороне сервера все о безопасности .

Любая проверка на стороне клиента должна быть сделано на стороне сервера (наоборот не обязательно).

0 голосов
/ 04 февраля 2011

Предполагая, что вы хотите использовать javascript для проверки, а затем отправить его на сервер (что, как говорит @pekka, является данным), вы получите в качестве pro / con для jQuery / javascript это

pro:

  • быстрая и простая проверка.Вы можете сделать это для каждого поля, но не для всего сразу.

con:

  • Некоторые люди до сих пор не любят дополнительный / ненужный JavaScript на своих страницах.Но я не думаю, что это большой обман.
0 голосов
/ 04 февраля 2011

Я использую оба. Для примера проверки ... У меня будет функция php "saveData ()", и она выдаст исключение, если в ней пропущены некоторые данные формы. С другой стороны, если у них включен javascript, они могут отправить форму и сразу же выяснить, отсутствуют ли у них данные, вместо того, чтобы перезагрузить страницу, чтобы узнать.

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