Лекция: Использование элементов управления типа Validation controls. Проверка данных на сервере. Отключение проверки правильности данных. Регулярные выражения

· Все элементы типа Validation controls должны иметь свойство ControlToValidate, которое определяет имя контролируемого серверного элемента ввода.

· каждый элемент управления должен иметь свойство ErrorMessage

 

Для текстовых полей (наличие любых данных в рассматриваемых полях ввода) — RequiredFieldValidator.

Cравнение введенных данных — Compare Validator.

Соответствие формату — RegularExpressionValidator.

Если приложение предназначено только пользователям из определенных регионов (имеющих определенные ZIP коды) — RangeValidator.

 

15: <asp:TextBox id=«tbFName» runat=«server» />

18: <asp:RequiredFieldValidator runat=«server»

19: ControlToValidate=«tbFName»

20: ErrorMessage=«ERROR»/><br>

24: <asp:CompareValidator runat=«server»

25: ControlToValidate=«tbFName»

26: ControlToCompare=«tbLName»

27: Type=«String»

28: Operator=«NotEqual»

29: ErrorMessage=" ERROR " />

36: <asp:TextBox id=«tbEmail»

37: runat=«server» />

38: <asp:RegularExpressionValidator

39: runat=«server»

40: ControlToValidate=«tbEmail»

41: ValidationExpression="\w+\@\w+\.com"

42: ErrorMessage=" ERROR "

68: <asp:RangeValidator runat=«server»

69: ControlToValidate=«tbZIP»

70: MinimumValue=«00000» MaximumValue=«22222»

71: Type=«String»

72: ErrorMessage=" ERROR " />

 

Отключение проверки правильности данных

Существует несколько способов отключения вывода результатов проверки правильности данных без удаления из кода элементов управления типа Validation controls.

1) установить свойство Enabled каждого элемента управления равным false:

<asp:RegularExpressionValidator runat=«server»

ControlToValidate=«tbZIP»

Enabled=«false» />

Эта установка запрещает вывод результатов проверки правильности данных пользователю и таким образом отменяет проверку определенного элемента управления.

2) отключать все проверки на стороне клиента, установив свойство clienttarget директивы <%@ Page %> равным downlevel:

<%@ Page Language=«VB» clienttarget=«downlevel» %>

будет отключена любая обработка кода на стороне клиента.

Настройка проверки правильности данных. Сообщения об ошибках. Вывод обобщенного результата проверки правильности данных. Пользовательские элементы управления типа Validation controls

Настраивая элементы управления типа Validation controls, возможно контролировать способ отображения сообщений об ошибке и т. Д.

Сообщения об ошибках

Фактически элементы управления типа Validation controls могут помещаться в любое место на странице. форма имеет много пустого места между элементами пользовательского интерфейса из-за элементов управления типа Validation controls. Этот тип отображения называется статическим (static). Это легко устранить, используя динамические отображения:

<asp:RequiredFieldValidator runat=«server»

ControlToValidate=«tbFName»

ErrorMessage=«First name required»

Display =«dynamic»/>

не используйте этот метод отображения, если требуется строго определенный внешний вид страницы

Вывод обобщенного результата проверки правильности данных

. Есть несколько вариантов размещения сообщений об ошибках:

локально — в том же месте страницы где размещается ЭУ типа Validation control;

суммарно — когда нужно отобразить все сообщения об ошибках в одном месте, например вверху страницы. Для этого — элемент управления типа ValidationSummary.

<asp:ValidationSummary runat=«server» Display Mode=«BulletList» />

локально и суммарно одновременно — при этом способе соответствующие сообщения об ошибках могут отличаться;

настраиваемый способ размещения.

чтобы изменить сообщение об ошибках, используется свойство Text:

1: <asp:RequiredFieldValidator runat=«server»

2: ControlToValidate=«tbFName»

3: ErrorMessage=«First name required»

4: Text=«Forgot first name!»

5: Display=«dynamic»/>

Элемент проверки правильности данных, будет теперь выводить сообщение «Forgot first name!» непосредственно под этим полем ввода и «First name required» в элементе управления типа ValidationSummary. Если вывод локальных сообщений об ошибках не требуется, то можно установить свойство Display каждого элемента управления равным nоnе.

IДобавив свойство ShowMessageBox, можно создать всплывающее окно сообщений, содержащее вывод элемента управления типа ValidationSummary.

1: <asp:ValidationSummary runat=«server»

2: ShowMessageBox=«true»

3: Display Mode=«BulletList» />

 

Для отображения сообщения об ошибке можно использовать рисунки или предоставлять ссылки на более подробное описание. можно настроить сообщение об ошибке с помощью свойств стиля. ForeColor, BackColor…

Пользовательские элементы управления типа Validation controls

Если ни один из предопределенных элементов управления типа Validation controls не подходит, то возможно создать собственные настраиваемые элементы управления типа Validation controls. С помощью элемента управления типа CustomValidator разработчик может легко определить любой требуемый тип проверки данных, используя синтаксис подобный определению стандартных элементов управления типа Validation controls. Когда пользователь вводит данные, то элемент управления типа CustomValidator будет вызывать для проверки методы, реализованные разработчиком компоненты.

1: <%@ Page Language=«VB» %>

2:

3: <script runat=«server»>

4: sub Submit(obj as object, e as eventargs)

5: do something

6: end sub

7:

8:sub ValidateThis(obj as Object, args as ServerValidateEventArgs)

10: if len(args.Value) < 8 then

11: args.IsValid = false

12: else

13: args.IsValid = true

14: end if

15:end sub

16: </script>

17:

18: <html><body>

19: <form runat=«server»>

25: <asp:Textbox id=«tbUserName» runat=«server» />

27: <asp:CustomValidator runat=«server»

28: OnServerValidate=«ValidateThis»

29: Display=«Dynamic»

30: ControlToValidate=«tbUserName»

31: ErrorMessage=«The Username must be 8 characters or longer»/>

44: <ASP:Button id=«tbSubmit» runat=«server»

45: OnClick=«Submit»

46: text=«Submit» />

50: </form>

51;</body></html

здесь появилось новое свойство: OnServerValidate. Это свойство определяет обработчик события, осуществляющий проверку данных.

В строке 4 находится метод Submit, который пока ничего не делает. Событие ServerValidate пользовательского элемента управления типа CustomValidator является основным исключением из этого правила. Это событие всегда обрабатывается первым.

В строке 8 находится обработчик события ServerValidate. Второй параметр args является объектом типа ServerValidateEventArgs, который содержит пользовательский ввод. Используете свойство Value для получения текста, и свойство IsValid для установки результата проверки настраиваемого элемента управления. Так, рассматриваемый обработчик события проверяет, составляет ли длина введенной строки менее восьми символов (используя функцию Len). Если

ввод является некорректным, то возвращается false.

Для проверки созданного пользовательского элемента управления проверки данных добавьте следующий код в метод Submit в строке 4:

5: if Page.IsValid then

6: IblMessage.Text = «It's all good!»

7: 'do some other processing

8: end if

Этот метод будет управлять отправкой формы после того, как все поля будут правильно заполнены. Однако сначала будет выполнен обработчик события проверки данных и возвратится логическое (Boolean) значение, определяющее, являются ли введенные данные правильными. если ввод правильный, то элемент управления типа CustomValidator устанавливает свое свойство IsValid равным true и соответственно свойство Page.IsValid становится равным true.

Основные понятия баз данных

еще рефераты
Еще работы по информатике