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:
A solução e projetos associados criados no Demonstra Passo a passo: Criando um aplicativo de dados N-Tier..
Acesso ao banco de dados de exemplo Northwind. Para obter mais informações, consulte Como: Instalar bancos de dados de amostra.
Observaçã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
No menu File, aponte para Open, clique em Project/Solution e em seguida, navegue até o local do arquivo NTierWalkthrough.sln.
Observação O arquivo NTierWalkthrough.sln é criado no tópico Demonstra Passo a passo: Criando um aplicativo de dados N-Tier. e é um pré-requisito para concluir essa explicação passo a passo. Conclua o tópico Demonstra Passo a passo: Criando um aplicativo de dados N-Tier., salvando todos os projetos quando tiver terminado, se ainda não tiver feito isso.
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
Abra o dataset no Dataset Designer por duas vezes no arquivo NorthwindDataSet. xsd no projeto DataAccessTier no Solution Explorer.
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 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.
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
Pressione F5.
Os dados das tabelas Customers e Orders aparecem no formulário.
No DataGridView que contém os pedidos, altere o valor na coluna DataDoPedido (de qualquer registro) para a data de amanhã.
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.
Coloque o ponteiro do mouse sobre o ícone de erro para exibir o erro de validação.
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:
- Adicionar validação que verifica as alterações quando um registro inteiro é alterado. Para obter mais informações, consulte: Como: Adicionar validação para um Dataset de n camadas.
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