Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Проверка может происходить и на стороне клиента, и на сервере. При проверке (валидации) на стороне клиента в страницу встраивается код на Javascript. Если данные в форме не проходят проверку, страница просто не будет отправлена на сервер. Это позволит избежать лишнего траффика и не загружать канал связи с сервером. С другой стороны, валидация на стороне сервера более надежна. Javascript-код может быть легко посмотрен и изменен, наконец, Javascript можно просто выключить в настройках браузера. При валидации на стороне сервера данные проверяются программой на полноценном языке. Ее код пользователю неизвестен. В результате проверки генерируется новая страница с сообщениями об ошибках. Самая разумная стратегия — применять комбинацию этих методов. Предварительная проверка у клиента защитит от опечаток, а серьезная проверка на сервере — от злонамеренного взлома.
Существует целый ряд серверных элементов управления, которые не занимаются выводом информации, а проверяют данные, введенные пользователем. ASP.NET 2.0 сам определяет тип браузера и генерирует наиболее подходящий для данного случая код. Если браузер поддерживает Javascript-код, который он может послать, то валидация или ее часть происходит на стороне клиента. Если браузер не поддерживает Javascript, то вся валидация происходит на сервере.
Получить доступ к валидаторам просто — они находятся в панели Toolbox на вкладке "Validation".
Классы валидаторов образуют иерархию, во главе которой стоит абстрактный класс BaseValidator.
Базовый класс валидаторов сам наследник класса Label, так что по существу все валидаторы — метки, текст в которых становится видимым, когда не выполняются заданные нами условия проверки. По умолчанию текст в валидаторах — красный (вспомните школу и замечания учительницы в тетради). Все валидаторы имеют свойство ControlToValidate. Оно задает тот элемент управления, данные в котором проверяются данным валидатором. Этот элемент должен находиться в одной форме с валидатором.
Общие свойства валидаторов | |
Display | Предоставлять ли место статически или динамически |
EnableClientScript | Разрешать ли генерировать клиентский javascript-код |
ErrorMessage | Текст сообщения об ошибке |
IsValid | Прошел ли валидацию связанный с валидатором элемент управления |
Проверка данных всегда инициируется каким-либо событием. Обычно это щелчок на кнопках Button, ImageButton, LinkButton, в которые по умолчанию свойство CausesValidation установлено в True. Можно убрать это свойство для некоторых кнопок, которым оно не нужно, например, для кнопки Cancel.
Класс RequiredFieldValidator проверяет, было ли изменено значение в связанном с ним элементе управления. Если выбор не был сделан, но кнопка (см. пример) была нажата, валидация проваливается и выводится текст, заданный в ErrorMessage или в Text. Валидаторы отображают текст, указанный внутри тэга.
ValidationExpression — регулярное выражение, на соответствие которому проходит проверку значение текстового поля. В Visual Studio 2005 предоставляет несколько готовых шаблонов регулярных выражений, которые можно выбрать в окне свойств, — телефонных номеров разных стран, адресов, и, самое полезное, шаблоны электронной почты и адреса в Интернете.
Дата публикования: 2015-02-03; Прочитано: 399 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!