Ватсон Карли
Шрифт:
Элементы управления проверкой достоверности предоставляют метод проверки достоверности ввода пользователя (в большинстве случаев) вообще без написания какого-либо кода. Когда инициируется обратная отправка, каждый элемент управления выполняет проверку, которую он подтверждает, и изменяет соответственно свое свойство
Однако элементы управления проверкой достоверности имеют вторую функцию. Они не только проверяют элементы управления во время выполнения, но могут также автоматически выводить пользователям полезные рекомендации. Если задать для свойства
Хранящийся в
В браузерах, которые это поддерживают, данные элементы управления создают клиентские функции JavaScript, чтобы упростить свое поведение по проверке. Это означает, что в некоторых случат обратная пересылка даже не происходит, так как элементы управления проверкой могут в некоторых ситуациях воспрепятствовать этому и вывести сообщения об ошибках без участия сервера.
Все элементы управления проверкой наследуют из класса
Мы скоро рассмотрим пример, но сначала кратко опишем различные элементы управления проверкой:
Элемент управления | Описание |
---|---|
RequiredFieldValidator | Используется для проверки, ввел ли пользователь данные в элемент управления, такой как TextBox . |
CompareValidator | Используется для проверки того, что введенные данные удовлетворяют простым требованиям, происходит сравнение с оператором set , использующим свойство Operator и свойство ValueToCompare . Operator может быть одним из Equal , GreaterThan , GraterThenEqual , LessThen , LessThenEqual , NotEqual или DataTypeCheck . Последний из них просто сравнивает тип данных ValueToCompare с данными в проверяемом элементе управления (ValueToCompare является строковым свойством, но интерпретируется как другой тип данных на основе своего содержимого). |
RangeValidator | Проверяет, что данные в элементе управления для проверки находятся между значениями свойств MaximumValue и MinimumValue . |
RegularExpressionValidator | Проверяет содержимое поля на основе регулярного выражения, хранящегося в ValidationExpression . Это может быть полезно для известной последовательности, такой как zip-коды, телефонные номера, IP-номера и т.д. |
CustomValidator | Применяется для проверки данных в элементе управления с помощью специальной функции. ClientValidationFunction используется для определения клиентской функции, используемой для проверки элемента управления (это означает, к сожалению, что мы не можем использовать C#). Эта функция должна возвращать логическое значение, указывающее, была проверка успешной или нет. Альтернативно можно взять событие ServerValidate для определения серверной функции, используемой для проверки. Эта функция является обработчиком событий с булевым типом, которая получает строку, содержащую данные для проверки вместо параметра EventArgs . Мы возвращаем true , если проверка проходит успешно, иначе false . |
Пример серверного элемента управления
Теперь мы разберем простой пример — пришло время взглянуть на более сложный сценарий. Давайте создадим каркас приложения Web — утилиту для заказа помещения для собраний. В данный момент он будет содержать только внешний интерфейс и простую обработку событий, позже мы расширим его с помощью ADO.NET и связывания данных, чтобы включить серверную бизнес-логику.
Форма Web, которую мы собираемся создать, будет содержать поля для имени пользователя, имени события, помещения для собраний и служителей вместе с календарем для выбора даты (предполагается в этом примере, что события продолжаются в течение полного дня). Используем элементы управления проверкой для всех полей, за исключением календаря, который будет проверяться на сервере и предоставлять дату по умолчанию в случае, если ничего не было введено.
Для тестирования интерфейса пользователя мы будем также иметь на форме элемент управления
Вначале создадим в Visual Studio новый проект приложения Web с именем