Обработка ошибок
Обработка ошибок
Чтобы посетитель мог быстро исправить допущенные ошибки, от него требуется не только внимание и терпение. В ответ на некорректный ввод данных сайт должен выдать понятное сообщение. Обычно обработку ошибок возлагают на программистов. Им говорят: «Напишите нужный код», но не объясняют, как лучше это сделать. Получив такую сухую инструкцию, разработчик выполнит ее, как может: точно, аккуратно и с минимальными усилиями. В результате сообщение об ошибке, которое появится перед пользователем, может быть совершенно ему непонятным.
Вам, наверное, приходилось сталкиваться с подобным: вы заполнили форму, нажали кнопку «Отправить» и получили взамен жуткую страницу с сообщением об ошибке. На ней нет никакой дополнительной информации. А вдруг вы допустили несколько ошибок? Исправив одну из них, вы снова попадете на эту страшную страницу. Как будто нельзя написать обо всех ошибках сразу, чтобы избежать необходимости исправлять каждую из них по отдельности.
Ошибки при вводе бывают двух видов:
1. пропущено поле, обязательное для заполнения;
2. тип или формат данных не соответствуют требованиям.
В первом случае речь идет о тех сведениях, которые вам необходимы. Например, в форме оформления подписки обязательно нужно указать адрес электронной почты.
Во втором случае ошибка появляется, если у введенных данных неправильный тип или формат. Например, в поле для адреса электронной почты клиенту не позволяют ввести номер телефона.
При создании формы хорошо подумайте, какие поля стоит в нее включить. Определитесь, будете ли устанавливать строгий формат для вводимых данных. Но в любом случае ваша система должна сразу определить, что ввел пользователь в соответствующее поле: номер телефона или адрес электронной почты.
У каждого программиста есть свои излюбленные методы обработки ошибок, но в целом их можно разделить на две группы: обработка ошибок на стороне клиента и обработка ошибок на стороне сервера. Другими словами, данные проверяются на ошибки либо до отправки формы на сервер, либо после. Какой вариант подойдет вам лучше всего?
На первый взгляд, между ними нет особой разницы, однако программисты яростно спорят по этому вопросу уже несколько лет. Проверка ошибок на стороне клиента производится быстрее (еще говорят, что веб– приложение в данном случае ничем не отличается от обычной программы на компьютере пользователя). Однако для нее требуется создавать сценарий на JavaScript, а будет ли этот сценарий выполняться, зависит от версии браузера и от самого компьютера, что, несомненно, является большим ограничением.
Обработка ошибок на стороне сервера дает больше возможностей, здесь не возникает никаких проблем совместимости. Однако при этом данные совершают несколько кругов от компьютера пользователя к серверу и обратно. К тому же, проверить форму на ошибки можно только после нажатия кнопки «Отправить».
Данный текст является ознакомительным фрагментом.