RequiredFieldValidator. Проверка правильности заполнения полей в Asp.net. Часть 1

Обработка форм – одна из основных задач в веб-приложениях. Ниже информация о том, как в ASP.Net сделать проверку на заполнение обязательного поля. Для этого используется элемент управления RequiredFieldValidator.
Форма в примере будет содержать 2 текстовых поля и кнопку "Отправить". Кроме них, на странице под кнопкой "Отправить" разместите контрол типа Label для демонстрации одной особенности работы.
1 2 3 4 5 6 |
Номер: <asp:TextBox ID="tb1" runat="server" ></asp:TextBox> <br /> Строка: <asp:TextBox ID="tb2" runat="server"></asp:TextBox> <asp:Button ID="btn" runat="server" Text="Отправить" /> <br /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> |
Для примера будем считать, что поле "Номер" (id = tb1) обязательно для заполнения. Обязательность заполнения полей в ASP.Net проверяет элемент управления RequiredFieldValidator. Добавим его над контролом tb1:
1 2 |
<asp:RequiredFieldValidator ID="rfv1" ControlToValidate="tb1" runat="server" EnableClientScript="true" ErrorMessage="не заполнено поле Номер" SetFocusOnError="true"></asp:RequiredFieldValidator> |
Основные свойства контрола RequiredFieldValidator:
- ID – идентификатор;
- ControlToValidate – идентификатор проверяемого контрола;
- EnableClientScript – разрешить проверку клиентскими скриптами, возможные значение true или false;
- ErrorMessage – текст сообщения об ошибке;
- SetFocusOnError – установить курсор на контрол при ошибке, возможные значение true или false.
Если значение свойства EnableClientScript равно True, то, если посмотреть HTML-код открывшейся в браузере страницы, будет код Javascript, который постарается провести проверку на стороне пользователя.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
<script type="text/javascript"> //<![CDATA[ var Page_Validators = new Array(document.getElementById("rfv1")); //]]> </script> <script type="text/javascript"> //<![CDATA[ var rfv1 = document.all ? document.all["rfv1"] : document.getElementById("rfv1"); rfv1.controltovalidate = "tb1"; rfv1.focusOnError = "t"; rfv1.errormessage = "не заполнено поле Номер"; rfv1.evaluationfunction = "RequiredFieldValidatorEvaluateIsValid"; rfv1.initialvalue = ""; //]]> </script> |
Убедитесь, что EnableClientScript = True, и откройте приложение в браузере, нажав Ctrl + F5. Если нажмете на кнопку "Отправить", не заполнив поле "Номер", то над полем "Номер" будет сообщение "не заполнено поле Номер" (Рис.1).
Проверка заполнения поля была проведена только на стороне клиента. Если обновить страницу в браузере, нажав кнопку F5, то браузер не выведет окно о повторной отправке данных на сервер, а сообщение об ошибке пропадет.
Измените значение EnableClientScript на False (EnableClientScript = False) и запустите приложение. Нажмите кнопку "Отправить". Страница будет выглядеть так же, как и на рис.1. Но если сейчас обновить страницу браузера, нажав кнопку F5, то браузер выдаст предупреждение о повторной отправке данных (Рис.2). Это значит, что проверка данных и выдача сообщения об ошибке были проведены на стороне сервера.
Листинг приложения:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
<form id="form1" runat="server"> <div> <asp:RequiredFieldValidator ID="rfv1" ControlToValidate="tb1" runat="server" EnableClientScript="true" ErrorMessage="не заполнено поле Номер" SetFocusOnError="true"></asp:RequiredFieldValidator> <br /> Номер: <asp:TextBox ID="tb1" runat="server" ></asp:TextBox> <br /> Строка: <asp:TextBox ID="tb2" runat="server"></asp:TextBox> <asp:Button ID="btn" runat="server" Text="Отправить" /> <br /> <asp:Label ID="Label1" runat="server" Text=""></asp:Label> </div> </form> |
В CS файл ничего не добавляли.
Комментариев нет »
No comments yet.
RSS feed for comments on this post. TrackBack URL
Leave a comment
Популярное за месяц
- Excel. Как сделать выбор значения ячейки из списка
- Правила оформления текстовых документов по ГОСТ 7.32 - 2001
- Как под рисунком сделать надпись в Word
- Настроить автоматическую сортировку писем по папкам в Outlook
- Добавить и удалить строки в Excel. Горячие клавиши
- Windows 8.1 – не меняется яркость экрана. Решение проблемы
- Как записать диск с MP3 программой Nero Burning Rom
- Удалить ненужные профили в Xbox 360
- Подключение мыши CBR CM530Bt к компьютеру
- Условия в PowerShell
Новое на сайте
- Проверка полей формы на стороне клиента в приложениях WebForms
- Удалить видео из Youtube
- Нет видео, только звук и черный экран в Google Chrome
- Добавить чекбокс (флажок, крыжик) в документе Word
- Программа для замены кнопки на клавиатуре
- Фреймворки для работы с таблицами в веб-интерфейсе
- Изменение кодировки сохраняемых файлов в Visual Studio Code
- Является ли значение числом в Javascript
- Исправление ошибки Error LINQ to Entities does not recognize the method 'System.Guid Parse(System.String)'
- Нарисовать виниловую пластинку в Photoshop
Популярное за 24 часа
- Excel. Как сделать выбор значения ячейки из списка
- Правила оформления текстовых документов по ГОСТ 7.32 - 2001
- Настроить автоматическую сортировку писем по папкам в Outlook
- Как под рисунком сделать надпись в Word
- Добавить и удалить строки в Excel. Горячие клавиши
- PowerShell. Проверить существует ли файл или папка
- Удалить ненужные профили в Xbox 360
- Windows 8.1 – не меняется яркость экрана. Решение проблемы
- Как записать диск с MP3 программой Nero Burning Rom
- Подключение мыши CBR CM530Bt к компьютеру