No Nofollow

Разработка: Концепция типов документов. Когда формы создаются без единой строчки кода

Что самое страшное в веб-программировании? Что есть бич сайтов и радость хакеров? Правильный ответ: проверка входных данных.

Входные данные — самая страшная вещь на свете. Возьмем, например, обычное текстовое поле ввода. Совершенно очевидно, что просто вывести его на страницу недостаточно. Надо еще:

1) Проверить, что в это поле хоть что-то ввели (если оно обязательное). 2) Проверить, что в поле не слишком мало символов. 3) Проверить, что в поле не слишком много символов. 4) Проверить, что в поле использованы только те символы, которые разрешены (например, для логинов). 5) Проверить, что данные в поле соответствуют шаблону (например, для емейлов).

И только после этого, наверное, можно наконец записать поле в БД. Что тоже может привести к ошибке — если, к примеру, БД отвалится.

И не стоит забывать, что о каждой из этих ошибок надо сообщить пользователю уникальным текстом.

И не стоит забывать, что эти проверки надо выполнять, и при добавлении, и при редактировании данных. Причем некоторые проверки при этом будут меняться (например, что мы редактируем объект с существующим ID), а некоторые — нет.

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

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

Уфф. Чем дальше, тем страшнее. А можно ли избежать всей этой мороки? Можно. Если использовать концепцию типов документов.

читать дальше →

Последние комментарии