Compartilhar via


Demonstra Passo a passo: Adicionando validação a um aplicativo de dados N-Tier.

Validar dados é o processo que confirma que os valores inseridos em objetos de dados (por exemplo, DataTables ou Classes LINQ to SQL obedecem às restrições do esquema de um objeto. A validação também garante a conformidade com regras estabelecidas para o aplicativo. Validar dados antes de enviar atualizações para o banco de dados subjacente é uma boa prática que reduz erros. Ela também reduz o número potencial de processamentos entre um aplicativo e o banco de dados.

Essa explicação fornece instruções passo a passo para adicionar validação a um aplicativo de n camadas (a solução criada no tópico Demonstra Passo a passo: Criando um aplicativo de dados N-Tier.).

Durante esta explicação passo a passo, você aprenderá a executar as seguintes tarefas:

  • Gerar automaticamente classes parciais, usando o Dataset Designer.

  • Adicionar código para executar a validação quando o valor em uma coluna individual é alterado.

Pré-requisitos

Para concluir essa explicação passo a passo, você precisa do seguinte:

ObservaçãoObservação

Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações do Visual Studio.

Abrindo a solução NTierWalkthrough

Para abrir a solução NTierWalkthrough

Adicionar validação para verificar dados durante uma alteração de colunas individuais

Esse procedimento irá adicionar validação para verificar que a coluna DataDoPedido em um novo pedido é definida com um valor da data atual ou anterior. O requisito deste aplicativo é que a coluna DataDoPedido não pode ter uma data que é posterior a de hoje; pedidos futuros não são permitidos.

Para adicionar validação para verificar o valor inserido na coluna DataDoPedido

  1. Abra o dataset no Dataset Designer por duas vezes no arquivo NorthwindDataSet. xsd no projeto DataAccessTier no Solution Explorer.

  2. Clique duas vezes na coluna DataDoPedido da tabela Pedidos no designer. Essa ação cria o manipulador de eventos ColumnChanging.

    ObservaçãoObservação

    O Dataset Designer não cria automaticamente um manipulador para o evento de C#. O código que é necessário para manipular o evento em C# está incluído neste procedimento. SampleColumnChangingEventé criada e, em seguida, assina o ColumnChanging evento de EndInit método.

  3. Adicione código para verificar que e.ProposedValue para a coluna DataDoPedido contém a data atual ou anterior. Se o valor proposto é inaceitável, configure a coluna para indicar que ela contém um erro.

    O exemplo de código a seguir valida que a coluna DataDoPedido contém a data atual ou anterior. Se o valor DataDoPedido for uma data posterior à atual, a coluna DataDoPedido é definida como um erro. A cláusula Else limpa o erro se a DataDoPedido for hoje ou anterior.

    Cole o código Visual Basic no manipulador de eventos ColumnChanging. Cole o código C# na declaração da classe parcial OrdersDataTable.

    If (e.Column.ColumnName = Me.OrderDateColumn.ColumnName) Then
        If CType(e.ProposedValue, DateTime) > Today Then
            e.Row.SetColumnError(e.Column, "OrderDate cannot be in the future")
        Else
            e.Row.SetColumnError(e.Column, "")
        End If
    End If
    
    // Replace the NorthwindDataSet partial class with the following:
    public partial class NorthwindDataSet
    {
        partial class OrdersDataTable
        {
            public override void EndInit()
            {
                base.EndInit();
                // Configure the ColumnChanging event
                // to call the SampleColumnChangingEvent method.
                ColumnChanging += SampleColumnChangingEvent;
            }
    
            public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e)
            {
                if (e.Column.ColumnName == OrderDateColumn.ColumnName)
                {
                    if ((System.DateTime)e.ProposedValue > System.DateTime.Today)
                    {
                        e.Row.SetColumnError("OrderDate", " OrderDate cannot be in the future");
                    }
                    else
                    {
                        e.Row.SetColumnError("OrderDate", "");
                    }
                }
    
            }
        }
    }
    

Testando o aplicativo

Para testar o aplicativo, altere o valor da coluna DataDoPedido para uma data que não é válida.

Para testar o aplicativo

  1. Pressione F5.

  2. Os dados das tabelas Customers e Orders aparecem no formulário.

  3. No DataGridView que contém os pedidos, altere o valor na coluna DataDoPedido (de qualquer registro) para a data de amanhã.

  4. Navegue fora da linha para aceitar a alteração.

    A validação falha e um ícone de erro aparece na célula DataDoPedido que contém o valor inválido.

  5. Coloque o ponteiro do mouse sobre o ícone de erro para exibir o erro de validação.

  6. Feche o formulário.

Próximas etapas

Dependendo dos requisitos do seu aplicativo, há várias etapas que você pode querer fazer depois de adicionar validação a um aplicativo de n camadas. Por exemplo, você pode querer fazer o seguinte aperfeiçoamento para este aplicativo:

Consulte também

Conceitos

O que há de novo no desenvolvimento de aplicativos de dados

Outros recursos

Trabalhando com conjuntos de dados em aplicativos de n camadas

Atualização hierárquica

Acesso a dados em Visual Studio