Поделиться через


Практическое руководство. Проверка серверных элементов управления ASP.NET на соответствие значениям из базы данных

Обновлен: Ноябрь 2007

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

Сравнение данных с базой данных

  1. Добавьте на страницу элемент управления CustomValidator и задайте следующие свойства:

    Свойство

    Описание

    ControlToValidate

    Идентификатор проверяемого элемента управления.

    ErrorMessage, Text, Display

    В этих свойствах указывается текст и расположение ошибок, которые будут отображаться при неудачном завершении проверки. Дополнительные сведения см. в разделе Практическое руководство. Управление отображением сообщений об ошибках проверки для серверных элементов управления ASP.NET.

  2. Создайте обработчик для события ServerValidate элемента управления CustomValidator. Добавьте код в обработчике событий для просмотра базы данных и проверки ввода данных на предмет наличия значений из набора данных.

    s5z00s5e.alert_note(ru-ru,VS.90).gifПримечание.

    Если пользователь оставляет элемент управления пустым, для него выполняется проверка сравнением. Чтобы ввод значения был обязательным, следует также добавить элемент управления RequiredFieldValidator. Подробные сведения см. в разделе Практическое руководство. Проверка обязательных записей для серверных элементов управления ASP.NET.

  3. Добавьте проверку в код веб-страницы 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

Другие ресурсы

Проверяющие элементы управления ASP.NET