#php #javascript #validation
#php #javascript #проверка
Вопрос:
Например, я хочу избежать ошибок, если кто-то отключит Javascript… Я думаю, что моя проверка JS должна вызываться моим PHP-кодом…
Я хотел бы знать о шаблонах проектирования или шаблонах защиты от проектирования.
Я должен уточнить, что я должен использовать JS в своем проекте, а не такие инструменты, как jQuery или Dojo
Комментарии:
1. всегда выполняйте оба: проверку клиента (js) и проверку сервера (php)
2. Я не понимаю, почему вы не можете использовать jQuery, сегодня никто больше не кодирует чистый JS, он громоздкий с точки зрения количества кода и не обеспечивает идеальной кроссбраузерной совместимости. Если это школьный проект, вы можете порекомендовать своему учителю какое-нибудь техническое чтение по проверке, половина, если не больше, сообщества разработчиков будут рады сказать ему, что он неправ!
Ответ №1:
Проблема чаще всего заключается в том, как сохранить идентичную проверку на клиенте, использующем JS, и на сервере, использующем PHP. Что я часто делаю, так это создаю свою проверку на сервере только с использованием PHP и отправляю содержимое через AJAX с использованием jquery.
Сервер воспринимает этот запрос как ajax-запрос, потому что я передаю ему content-type, а затем он ничего не обрабатывает, просто проверяет и возвращает ответ JSON, в котором говорится, что все в порядке, или отправляет обратно сообщения об ошибках, которые jquery должен будет показать пользователю.
Как вы и просили, это всего лишь шаблон проектирования, способ выполнения. Реализация этого — другая история, есть масса способов сделать это.
Удачи
Комментарии:
1. Спасибо, но моя цель — написать JS
Ответ №2:
Существует несколько плагинов jQuery, которые имеют проверку, и некоторые привязывают ее к классам в полях. Таким образом, вы можете разделить свой javascript и свой PHP.
Важно то, что проверка должна проводиться с двух сторон: на стороне сервера и на стороне клиента. Итак, хотя вы можете выполнять проверку с помощью JavaScript, в основном из соображений удобства использования, вам также необходима проверка на стороне сервера по соображениям надежности. Таким образом, если кто-то отключил проверку, вы все равно можете предотвратить ошибки, которые могут вызвать неподтвержденные данные.
Комментарии:
1. Спасибо, но моя цель — написать JS и не использовать фреймворки типа jQuery
2. Я предполагаю, что вы говорите о проверке входных данных. Это должно быть сделано на сервере по соображениям безопасности. Любой может подделать post. Проверка на стороне клиента предназначена для удобства пользователя, для обнаружения ошибок до отправки формы, позволяя пользователю исправлять их без необходимости перезагрузки формы.
3. Я не понимаю, почему ваша цель — написать JS, а не использовать что-то вроде jQuery, который прекрасно справляется с определением браузера и устраняет многочисленные незначительные различия между браузерами и версиями для вас. Кроме того, вы никогда не можете полагаться только на JS просто по соображениям доступности. Шрифт Брайля или аудиобра-зумер для слепых вряд ли даже будет иметь JS в наличии.