Почему вы должны проверять формы, используя JavaScript? - PullRequest
9 голосов
/ 10 августа 2010

Какой смысл проверять ваши HTML-формы с помощью Javascript, если вам все равно понадобится проверять формы с помощью PHP?Я понимаю, что вы получаете повышение скорости от этого, и это более удобно для пользователя, но помимо этого, стоит ли потраченное на это время?Если у кого-нибудь есть какие-либо веские доказательства по этому поводу, я хотел бы услышать это.

Спасибо за любую помощь!Метрополис

ОБНОВЛЕНИЕ

После получения многочисленных ответов я бы хотел немного изменить вопрос.Мы все знаем, что javascript намного удобнее для пользователя и дает более быструю обратную связь.Что мне интересно, так это: кто-нибудь видел "доказательства", что оно того стоит?Или мы просто делаем это, потому что это делает вещи немного лучше, и все говорят, что мы должны?Разница в скорости не столь значительна, и по мере того, как Интернет станет быстрее, проверка javascript станет еще более устаревшей, я бы подумал.

Я начинаю задумываться, можно ли потратить время, потраченное на проверку страницы с использованием javascript.

Ответы [ 9 ]

15 голосов
/ 10 августа 2010

В идеале вы проверяете с помощью javascript и (в вашем случае) PHP.

Оба метода валидации будут работать в тандеме, чтобы обеспечить вам максимально надежную и удобную функциональность, возможную для вашего конечного пользователя.

Вы будете использовать проверку на стороне клиента, чтобы убедиться, что все поля заполнены, адреса электронной почты действительны и т. Д. Это обеспечит мгновенную обратную связь и не будет обременять ваши серверы или интернет-соединение пользователя.

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

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

Использование обоих типов проверки дает вам лучшее из обоих миров (отзывчивость и безопасность), не имея ни одного из недостатков,Конечно, это означает, что вам нужно написать больше кода, но, на мой взгляд, оно того стоит.

РЕДАКТИРОВАТЬ: В ответ на комментарии

Да, у вас естьписать больше кода таким образом ... Как правило, если программисту сложнее, пользователю легче .В некоторых бюджетах может не иметь смысла проводить проверку обоих типов, и это вызов, который вам придется сделать.Просто убедитесь, что проверка на стороне сервера надежна, независимо от того.

Да, время - деньги, а время , потраченное на улучшение работы пользователя, - это хорошо потраченное время.Если вы не можете позволить себе сделать это сейчас (сроки / график / бюджет), сделайте это, когда сможете.

2 голосов
/ 10 августа 2010

Все дело в удобстве использования.Пользователю гораздо удобнее читать, какие ошибки он допустил до перезагрузки страницы, чем постоянно отправлять и перезагружать страницу.Это может также дать более приятный взгляд с некоторыми AJAX и подобными, а не перезагрузить страницу и очень уродливые красные сообщения об ошибках, я думаю.Итак, преимущество?Гораздо удобнее, чем проверка на стороне сервера.

0 голосов
/ 10 августа 2010

Легко.

Javascript, чтобы помочь пользователю вводить правильно отформатированные данные. PHP, чтобы убедиться, что все, что входит в ваш скрипт, очищается перед дальнейшей обработкой.

Конечно, вам придется сделать оба. Пользователи хотят этого, ваши клиенты хотят этого, и, честно говоря, вы думаете, что после сообщения об ошибке он получает ошибочные сообщения php.

Я не думаю, что аргумент о необходимости кодировать дополнительные файлы .js, которые, вероятно, пожирают ваше время / бюджет, имеет какое-то значение. Существует так много библиотек и сценариев, и любой из них позволит вам настроить проверку дискотеки в кратчайшие сроки. Однако, не увлекайтесь раздачей глазных конфет. Проверка .js только для того, чтобы помочь. Не впечатлять.

0 голосов
/ 10 августа 2010

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

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

Это не только украшение, когда вы приходите в бизнес и на продажи.;) Окупаемость инвестиций того стоит.

0 голосов
/ 10 августа 2010

... я думаю, что вы также сохраняете свою карму чище, когда сотни или тысячи ваших пользователей не желают, чтобы вы горели в аду, заставляя их заполнять 5-7 полей (с помощью textarea), чтобы получать информацию она следующей странице они опечатали свою электронную почту, поэтому им приходится начинать все сначала: D для включения javascript у меня не уходит много времени, скажем, максимум 1-2 минуты для одной формы.и это экономит много нервных клеток моих пользователей.будь гуманистом!люби своего соседа!))

0 голосов
/ 10 августа 2010

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

Однако проверка на стороне клиента может обеспечить лучшее взаимодействие с пользователем. Он может быть использован для обеспечения мгновенной обратной связи. например когда вы убираете фокус с текстового поля, валидатор может предоставить мгновенную обратную связь, что прекрасно, когда вы заполняете длинную сложную форму.

Суть в том, что вам все равно нужно будет вводить хорошие данные в вашу базу данных. И чем точнее будет информация, хранящаяся там, тем меньше проблем с системой вы будете иметь позже. Вам нужны оба.

например. Что если кто-то обновит код сайта в будущем и нарушит проверку? или кто-то пишет сценарий для автоматизации ввода данных, минуя ваш веб-интерфейс во всем, что это проверка?

Я скажу это снова. Вам нужны оба.

0 голосов
/ 10 августа 2010

Суть проверки JavaScript (когда она доступна) заключается в том, что она улучшает взаимодействие с пользователем.Обратный путь к серверу требует загрузки страницы и связанного с ней раздражающего мерцания при перерисовке.Проверка в коде JavaScript позволяет отображать сообщение без всего этого.

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

0 голосов
/ 10 августа 2010

Для обеспечения лучшего взаимодействия с пользователем.

Отзывы о проверке JS быстрее и, следовательно, лучше, чем проверка на стороне сервера при отправке формы.

0 голосов
/ 10 августа 2010

PHP работает на стороне сервера, javascript - на стороне клиента. Вы не хотите, чтобы ваш сервер проверял форму проверки, когда вы можете заставить клиентский компьютер делать это. Плюс это экономит пропускную способность.

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