Практическое руководство. Проверка серверных элементов управления ASP.NET на соответствие значениям из базы данных
Обновлен: Ноябрь 2007
Существует возможность сравнить ввод пользователя с базой данных, чтобы убедиться, что пользователь ввел распознаваемое значение. Чтобы сделать это, необходимо написать код в элементе управления CustomValidator, который ищет соответствия данных в базе данных.
Сравнение данных с базой данных
Добавьте на страницу элемент управления CustomValidator и задайте следующие свойства:
Свойство
Описание
Идентификатор проверяемого элемента управления.
В этих свойствах указывается текст и расположение ошибок, которые будут отображаться при неудачном завершении проверки. Дополнительные сведения см. в разделе Практическое руководство. Управление отображением сообщений об ошибках проверки для серверных элементов управления ASP.NET.
Создайте обработчик для события ServerValidate элемента управления CustomValidator. Добавьте код в обработчике событий для просмотра базы данных и проверки ввода данных на предмет наличия значений из набора данных.
Примечание. Если пользователь оставляет элемент управления пустым, для него выполняется проверка сравнением. Чтобы ввод значения был обязательным, следует также добавить элемент управления RequiredFieldValidator. Подробные сведения см. в разделе Практическое руководство. Проверка обязательных записей для серверных элементов управления ASP.NET.
Добавьте проверку в код веб-страницы ASP.NET, чтобы проверить вводимое значение на допустимость. Подробные сведения см. в разделе Практическое руководство. Программная проверка допустимости серверных элементов управления ASP.NET.
В следующем примере показано, как проверить запись путем ее поиска в таблице базы данных. В этом случае пользователь ввел адрес электронной почты, который сверяется с адресами электронной почты, хранящимися в таблице. Настраиваемая логика проверки просматривает строки в таблице, являющейся частью набора данных, доступного на странице.
Private Sub CustomValidator1_ServerValidate(ByVal _ source As System.Object, ByVal args As _ System.Web.UI.WebControls.ServerValidateEventArgs) _ Handles CustomValidator1.ServerValidate Dim dv As DataView Dim dataset11 As New Data.DataSet dv = dataset11.Tables(0).DefaultView Dim datarow As DataRowView Dim txtEmail As String args.IsValid = False ' Assume False ' Loop through table and compare each record against user's entry For Each datarow In dv ' Extract e-mail address from the current row txtEmail = datarow.Item("Alias").ToString() ' Compare e-mail address against user's entry If txtEmail = args.Value Then args.IsValid = True Exit For End If Next End Sub
private void CustomValidator1_ServerValidate(object source, System.Web.UI.WebControls.ServerValidateEventArgs args) { DataView dv; DataSet dataSet11 = new DataSet(); dv = dataSet11.Tables[0].DefaultView; string txtEmail; args.IsValid = false; // Assume False // Loop through table and compare each record against user's entry foreach (DataRowView datarow in dv) { // Extract e-mail address from the current row txtEmail = datarow["Alias "].ToString(); // Compare e-mail address against user's entry if (txtEmail == args.Value) { args.IsValid = true; } } }
См. также
Основные понятия
Типы проверки для серверных элементов управления ASP.NET