На сегодняшний день, практически все веб-сайты содержат в свой структуре определенные веб-формы, будь-то обыкновенная форма для обратной связи или же форма регистрации нового пользователя.
Чтобы быть полностью уверенным в том, что информация, которая отправляется пользователем, будет, в конечном итоге, успешно принята и обработана, необходимо обеспечить особую проверку на корректность заполнения каждой используемой на портале формы. Подобные вещи выполняются на основе процесса валидации.
Все корректные данные легко можно отправлять на сервер и сохранять в БД.
В случае, если пользователь сайта допустил определенную ошибку на сайте (при заполнении формы), подобная информация не может быть доставлена в БД.
Понятие валидации
Валидация (Validation) – определенное подтверждение на базе представления объективного свидетельства того, что все установленные требования, которые предназначаются для определенного использования или распоряжения, были выполнены.
Валидация должна всегда отвечать на вопрос «Делаем ли мы правильные операции с веб-продуктом?»Валидация – очень важная составляющая при проведении полноценных действий по тестированию веб-продуктов, которые ориентированы на большую обработку данных со стороны пользователей.
С технической стороны можно выделить сразу две формы валидации компонентов программного обеспечения:
- Проверка на стороне сервера;
- Проверка на стороне клиента.
Валидация на стороне сервера
Выполняется на стороне сервера уже после того, как информация была передана от клиента. Это не настолько удобно, как проверка на стороне веб-браузера, поскольку пользователь не может получить обратной связи до тех пор, пока все поля формы не будут отправлены на сервер.
Исключением из этого правила является валидация на основе использования Ajax – Ajax-звонки на сервере могут проверять по мере их непосредственного ввода и с обеспечением немедленной обратной связи (к примеру, валидация нового логина пользователя на доступность при процессе выполнения регистрации нового аккаунта).
Валидация на стороне сервера – это, своего рода, «последний щит» (линия защиты) от неверных или даже вредоносных хакерских атак.
Подобный метод валидации полностью безопасен, так как он будет всегда функционировать, даже если JS будет отключен в браузере и хакеры не смогут его легко обойти.
На сегодняшний день функции валидации информации имеют все востребованные и популярные фреймворки.
Базовым недостатком такой проверки является тот факт, что валидация полностью опирается на использование JS. Если по каким-то своим соображениям пользователь решит отключить JS на сайте, он запросто сможет обойти проверку на стороне сервера.
Вот почему валидация должна при любых раскладах выполняться как на стороне клиента, так и на стороне сервера.Только комбинация проверок на стороне клиента и сервера позволяет получить сразу несколько преимуществ: мгновенный ответ, более качественную проверку и лучший пользовательский опыт (так называемый UX).
Проверка на стороне клиента
Это своего рода «мгновенная» проверка непосредственно в веб-браузере, то есть еще до начала процесса отправки данных на сторону сервера. Подобная валидация в разы эффективней, чем проверка на стороне сервера, так как контроль ввода на стороне клиента позволяет получить мгновенный ответ.
Есть сразу два вида реализации подобной валидации:
- На основе JS – максимально гибкий и полностью настраиваемый под каждого разработчика способ;
- На основе HTML5 – отличается лучшей производительностью, но имеет ограничения в своей настройке, по сравнению с JS.
Изначально, все правила валидации являются жесткими, то есть клиент должен самостоятельно исправить ошибки, перед тем как данные будут направлены на сервер.
Строгие валидации обеспечивают высокое качество информации с минимальным количество ошибок (опечаток, ошибок в орфографии и прочее).
Проблема жесткой валидации заключается в том, что происходит блокировка работы клиента с веб-формами. Это конечно, ее цель номер один, но если все правила валидации не могут быть созданы на 100% качественно, клиенты, в конечном итоге, смогут спокойно работать с формами без надобности вносить корректировки в ранее заполненные формы и поля ввода информации.
К примеру, пользователи с нетипичными адресами электронной почты могут блокироваться некоторыми средствами проверки валидности электронной почты, вследствие чего пользователь не сможет завершить процесс оформления заказа в интернет-магазине. В подобных ситуациях даже допускается создание новой учетной записи пользователя просто для регистрации именно на этом сайте.
Если исключить все строгие проверки, можно реализовать мягкие правила проверки, которые иногда могут быть просто проигнорированы со стороны пользователей. Это значит, что если введенные данные попросту не соответствуют определенными техническим рекомендациям, то пользователь, скорее всего, увидит некое сообщение об этом. При всем этом он сможет и дальше работать на сайте, сохранив данные, предварительно отправив их на сервер.
Любая валидация должна предупреждать пользователя о том, что необходимо постоянно выполнять проверку введенных данных, при этом, его взаимодействие с сайтом не должно прерываться и нарушатся.
Пользователь может быть предупрежден о некоторых потенциальных последствиях введения ошибочных значений, а также, ему должен быть предложен способ дальнейшего взаимодействия с сайтом «на свой персональный страх и риск».
Оставить комментарий