Compartilhar via


Instruções passo a passo: adicionando validação a um aplicativo de dados de N camadas

A Validação de 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. É uma boa prática validar os dados antes de enviar as atualizações ao banco de dados subjacente, o que reduz os erros. 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 Instruções passo a passo: criando um aplicativo de dados de N camadas).

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

Pré-requisitos

Para concluir esta explicação passo a passo, você precisará do seguinte:

Dica

Seu computador pode mostrar diferentes nomes ou locais 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 Customizing Development Settings in Visual Studio.

Abrindo a solução NTierWalkthrough

Para abrir a solução NTierWalkthrough

Adicionando validação para verificar dados durante uma alteração de coluna individual

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

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

  1. Abra o conjunto de dados no Criando e editando conjuntos de dados tipados clicando duas vezes no arquivo NorthwindDataSet.xsd, no projeto DataAccessTier do Gerenciador de Soluções.

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

    Dica

    O Designer de Conjunto de Dados não cria automaticamente um manipulador para o evento do C#.O código necessário para manipular o evento em C# está incluído posteriormente neste procedimento.SampleColumnChangingEvent é criado e inscrito no evento ColumnChanging no método EndInit.

  3. Adicione o código para verificar se e.ProposedValue para a coluna OrderDate contém a data atual ou anterior. Se o valor proposto for inválido, configure a coluna para indicar que ela contém um erro.

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

    Cole o código do Visual Basic no manipulador de eventos ColumnChanging. Cole o código C# na declaração de 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 OrderDate para uma data que não seja válida.

Para testar o aplicativo

  1. Pressione F5.

  2. Os dados das tabelas Clientes e Pedidos são exibidos no formulário.

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

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

    A validação falha e um ícone de erro aparece na célula OrderDate, 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 aplicativo, há várias etapas que podem ser desejadas depois de adicionar a validação a um aplicativo de n camadas. Por exemplo, pode ser conveniente fazer o seguinte aperfeiçoamento para este aplicativo:

Consulte também

Outros recursos

Trabalhando com conjuntos de dados em aplicativos de N camadas

Atualização hierárquica

Acessando dados no Visual Studio