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ção:

Seu computador pode mostrar diferentes nomes ou localizações para alguns dos elementos de 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 clicando duas vezes no arquivo NorthwindDataSet.xsd no projeto DataAccessTier no Explorer solução.

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

    Observação:

    O Dataset Designer não cria automaticamente um manipulador para o evento de C#.O código necessário para manipular o evento em translation from VPE for Csharp é incluído posteriormente neste procedimento.SampleColumnChangingEvent é criado e, em seguida, assina o ColumnChanging evento na 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 em Dados

Outros recursos

N-Tier Data Applications

Atualização hierárquica

Acessando Dados (Visual Studio)