Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Проверка правильности данных в ASP. NET. Как работают элементы управления типа Validation controls



Серверные элементы управления типа Validation controls в ASP.NET позволяют легко проверять данные, вводимые пользователями в Web-формы (Web Forms). Эти элементы управления поддерживают такие проверки, как требуемые поля и соответствие шаблонам. Они также позволяют программистам легко создавать собственные настраиваемые проверки. В дополнение к этому элементы управления типа Validation controls позволяют полностью настроить способ представления пользователям сообщений об ошибках, когда контролируемые значения не проходят проверку.

Элементы управления типа Validation controls создаются на сервере, возвращают браузеру сгенерированный в результате их работы HTML и имеют одинаковый синтаксис их объявления:

<asp:ValidatorName runat="server" ControlToValidate="ControlName" ErrorMessage="Descriptive Text"/>

Отличительной чертой компонент типа Validation controls является то, что они ничего не отображают до обнаружения ошибки ввода. Таким образом, задача элементов управления типа Validation controls — это наблюдать за другими серверными элементами управления и проверять их содержимое. Свойство ControlToValidate определяет, какой пользовательский элемент ввода будет контролироваться. Когда пользователь вводит данные в контролируемый элемент управления, то элемент управления типа Validation controls проверяет, следует ли вводимая информация всем специфицированным в элементе правилам

В табл. 7.1 приведены типы предопределенных в ASP.NET элементов управления проверкой вводимых данных. Практическое использование всех перечисленных в таблице компонент будет рассмотрено далее в этом уроке. Все они принадлежат к пространству имен (namespacing) System.Web.UI.WebControls.

(Таблица 7.1. Виды предопределенных в ASP.NET элементов управления типа Validation control

Validation control Описание
RequiredFieldValidator   CompareValidator     RangeValidator     RegularExpression Validator     CustomValidator Гарантирует, что пользователь не пропустит требуемое поле ввода. Сравнивает вводимое в поле значение с константой, со значением свойства другого элемента управления или со значением из базы данных, используя операторы сравнения (меньше чем, равно, больше чем и так далее). Проверяет, что введенное пользователем значение находится в заданном диапазоне. Проверяет, что вводимые данные соответствуют шаблону, определяемому регулярным выражением. Проверяет вводимые пользователем данные, используя логику, запрограммированную разработчиком приложения. Этот тип проверки данных позволяет проверять значения, получаемые во время исполнения программы.

В приведенном ниже списке перечислены элементы управления, ввод в которые может контролироваться доступными в ASP.NET компонентами типа Validation controls.

• HtmlInputText

• HtmlTextArea

• HtmlSelect

• HtmlInputFile

• TextBox

• ListBox

• DropDownList

• RadioButtonList

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

Как работают элементы управления типа Validation controls

Для создания элемента управления типа Validation controls на ASP.NET странице нужно просто добавить соответствующий компонент типа Validation controls тэг в Web-форму. Каждый добавленный в форму элемент типа Validation controls контролирует вводимые в другом серверном элементе управления данные.

Элементы типа Validation controls выполняют проверку данных как на клиентской стороне, так и на серверной. Когда пользователь вводит в элемент управления данные, нарушающие указанные разработчиком правила проверки, то пользователь будет немедленно об этом предупрежден. Фактически, среда ASP.NET не позволяет отправить форму, содержащую недопустимую в программе информацию. Это значит, что для обеспечения проверки не надо посылать информацию обратно на сервер — проверка выполняется автоматически на стороне клиента. Это дает большое повышение производительности работы системы и более удобно для ее пользователей.

Проверка вводимой информации на стороне клиента осуществляется только браузерами, поддерживающими DHTML и JavaScript.

Когда форма, прошедшая проверку на стороне клиента, посылается на сервер, ASP.NET проверяет введенные данные снова. Дополнительная проверка на сервере может помочь в тех случаях, когда требуются более сложные алгоритмы проверки данных.

Хотя большая часть функциональности проверки данных выполняется средой автоматически, от разработчика требуется написание определенного кода для того, чтобы заставить работать управляющие элементы.

В листинге 7.3 приводится простой пример реализующего проверку кода.

Листинг 7.3. Простой пример проверки данных __

1: <%@ Page Language="VB" %>

3: <script runat="server">

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

5: if Page.IsValid then

6: IblMessage.Text = "You passed validation!"

7: end if

8: end sub

9: </script>

10:

11: <html><body>

12: <form runat="server">

16: <asp:TextBox id="tbFName" runat="server" /><br>

17: <asp:RequiredFieldValidator runat="server"

18: ControlToValidate="tbFName"

19: ErrorMessage="First name required"/><p>

20:

21: <asp:Button id="tbSubmit" runat="1server"

22: Text="Submit"

23: OnClick="Submit" />

24: </form>

25: </body></html>

Элемент типа Validation controls RequiredFieldValidator проверяет только наличие в поле ввода данных. Поэтому ввод любых данных в поле ввода текста tbFName удовлетворяет условиям проверки. Каждый элемент типа Validation controls имеет свойство IsValid, которое содержит результат проверки. В нашем случае, если пользователь ввел какие-то данные, то это свойство устанавливается в true. Когда форма запускается на исполнение, то вызывается метод Submit в строке 4. Свойство Page.IsValid определяет, удовлетворяют ли все находящиеся на странице элементы типа Validation controls условиям проверки.

Рассмотрим этот случай подробнее. Элемент управления типа Validation controls в строке 17 проверяет, введены ли в контролируемый им элемент управления какие нибудь данные.

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

Также, если в браузере отключена поддержка JavaScript, то проверка вводимой информации на стороне клиента производиться не будет.





Дата публикования: 2015-02-03; Прочитано: 785 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...