Добавляем...


Лучшие варианты контроля данных
Контроль вводимых в формы данных действительно является важнейшим из возможных применений JavaScript, но иногда эта возможность используется неправильно к достаточно профессионально. В этом разделе приводятся общие рекомендации, которые вы можете применить к своей стратегии контроля вводимых данных.
  • Старайтесь быть полезными. Контроль данных со стороны клиента должен использоваться для того, чтобы помочь пользователю правильно ввести данные. Из этого вытекает необходимость такого взаимодействия с пользовате лем, которое оказывается для него полезным. Например, если пользой вводит неправильные данные, в сообщение об ошибке полезно включить описание ожидаемого формата данных. Точно так же, когда это возможно, используйте сценарий для исправления типичных ошибок. Например, достаточно просто использовать JavaScript для того, чтобы автоматически перевести введенный телефонный номер из формата NNN-NNN-NNNN в формат (NNN) NNN-NNNN.
  • Не будьте излишне навязчивы. Мы использовали alert () для информирования пользователя об ошибках ввода только в целях иллюстрации. Ведь чтобы исправить данные, пользователь должен закрыть окно alert (), но при этом он может забыть, в каком из полей была допущена ошибка. Поэтому лучше отобразить сообщение об ошибке где-нибудь непосредственно на странице.
  • По возможности используйте средства HTML, а не средства JavaScript. Вместо того чтобы для выяснения длины поля использовать JavaScript, используйте maxlength. Вместо проверки даты предложите раскрывающееся меню с подходящими вариантами даты, чтобы не допустить ошибок ввода. То же можно сделать и для ввода кодов штатов или других данных.
  • Информируйте обо всех ошибках сразу. Многие пользователи предпочитают видеть все ошибки сразу, так что желательно собрать строки сообщение каждой отдельной ошибке в одно сообщение, чтобы отобразить все эти строки вместе.
  • Регистрируйте ошибки на самых ранних стадиях. Ожидание момента отправки формы является не самым лучшим вариантом стратегии распознавания ошибок. Некоторые разработчики предпочитают осуществлять соответствующий контроль в момент ухода от поля, используя для этого onblur или onchange. К сожалению, onblur не всегда работает так, как предполагается, и в результате можно попасть в бесконечный цикл событий. Если вы собираетесь использовать триггеры blur и focus, то управлять этими событиями лучше всего с помощью прерывания цепочки их "восхождения" (см. главу 11). >В сомнительных случаях стремитесь к меньшим ограничениям. Нет ничего более раздражающего, чем попытка ввести информацию, в которой вы уверены, но которая отвергается только потому, что разработчик страницы не знал обо всех возможных вариантах. Помните о том, что задача контроля вводимых в формы данных — помочь пользователю обнаружить ошибки, а не навязать ему определенную политику ввода.
Заключительной рекомендацией, которой не следуют многие разработчики, является то, что содержимое полей формы необходимо проверять и на сервере. Контроль стороны клиента не отменяет необходимости контроля со стороны сервера: контроль со стороны клиента лишь обеспечивает удобство использования форм и повышает производительность, поскольку уменьшается число отвергнутых попыток предъявления данных серверу. Всегда помните о том, что пользователи могут запретить применение JavaScript в браузере или сохранить страницу на диске, чтобы отредактировать ее вручную перед тем, как отправлять данные. Это серьезный вопрос безопасности и разработчики программ JavaScript ошибаются, если думают, что процедуры контроля данных смогут гарантировать полную защиту от поступления неверных данных в Web-приложения сервера.
назад:
далее:


добавить комментарий
(без перезагрузки и регистрации)


10 случайных разделов

Что ищем на сайте ?


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







@ 2008-2011 Amber
При использовании материалов ссылка на сайт обязательна
Яндекс.Метрика