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 exemplo.
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
No menu File, aponte para Open, clique em Project/Solution e em seguida, navegue até o local do arquivo NTierWalkthrough.sln.
Observação: O NTierWalkthrough.sln arquivo é criado Em o Demonstra Passo a passo: Criando um aplicativo de dados N-tier tópico e é um pré-requisito para concluir esta 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 clicando duas vezes no arquivo NorthwindDataSet.xsd no projeto DataAccessTier no Explorer solução.
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.
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 N-tier.