Дані, які користувач вводить на сторінці, часто потрібно перевірити на відповідність логіці сторінки. Наприклад, чи введене значення – число, чи заповнене обов’язкове поле, і так далі.
Перевірка (валідація) може здійснюватися і на стороні клієнта, і на сервері. При валідації на стороні клієнта у сторінку вбудовується код на Javascript. Якщо дані не проходять перевірку, то сторінка просто не буде відправлена на сервер. Таким чином уникнемо збільшення трафіку та не будем завантажувати сервер. З іншого боку, валідація на стороні сервера більш надійна та функціональніша.
Перевірка даних завжди ініціюється якоюсь подією. Зазвичай такою подією є натиснення кнопок Button, ImageButton або LinkButton, у яких властивість CausesValidation має значення true.
Властивість Page.IsValid дозволяє визначити, чи пройшла валідацію сторінка вцілому. Для браузерів, які підтримують DHTML, перевірка здійснюється на стороні клієнта. Для цього автоматично генерується JavaScript-код.
Існує низка серверних елементів управління, які призначені для перевірки даних, введених користувачем.
Класи валідаторов утворюють ієрархію:
· BaseValidator
o BaseCompareValidator
§ CompareValidator
§ RangeValidator
o CustomValidator
o RegularExpressionValidator
o RequiredFieldValidator
Базовий абстрактний клас валідаторів BaseValidator є нащадком класу Label. Тому всі валідатори – це мітки, текст у яких стає видимим, коли не виконуються визначені нами умови перевірки.
У таблиці 8.4 наведено основні властивості валідаторів.
Таблиця 8.4. Загальні властивості валідаторів
Властивість
| Зміст
|
ControlToValidate
| Прикріплює валідатор до елемента управління, дані якого потрібно перевіряти. Цей елемент повинен бути розміщений в одному контейнері з валідатором.
|
Display
| Визначає, виділяти місце для тексту статично чи динамічно.
|
EnableClientScript
| Дозволяє або забороняє генерувати клієнтський код.
|
ErrorMessage
| Текст повідомлення про помилку. Для відображення повідомлення про помилку можна використовувати також звуки та картинки. Для цього потрібно записать не текст, а відповідний тег HTML, например: ErrorMessage='<img src="error.gif">'
|
IsValid
| Повертає значення true, якщо прив’язаний до валідатора елемент пройшов перевірку даних, або false у протилежному випадку.
|