DevMedia
Você precisa estar logado para dar um feedback. Clique aqui para efetuar o login
Para efetuar o download você precisa estar logado. Clique aqui para efetuar o login
Este é um post disponível para assinantes MVP
Este post também está disponível para assinantes da Easy .net magazine
ou para quem possui Créditos DevMedia.

Clique aqui para saber como acessar este post

1) Torne-se um assinante MVP e por apenas R$ 69,90 por mês você terá acesso completo a todos os posts. Assinar MVP

2) Adquira Créditos: comprando R$ 180,00 em créditos esse post custará R$ 1,20. Comprar Créditos

easy .net Magazine 17 - Índice

Validação com ASP.NET: Utilizando os controles em Web Forms - Revista easy .net Magazine 17

Este artigo procura apresentar como recursos de validação do próprio .NET podem ser empregados em aplicações ASP.NET que façam uso da tecnologia Web Forms.

[fechar]

Você não gostou da qualidade deste conteúdo?

(opcional) Você poderia comentar o que não lhe agradou?

Confirmo meu voto negativo

Quando se leva em consideração a construção de sites dinâmicos por meio da plataforma .NET, merece destaque o fato de que o ASP.NET conta desde o seu princípio com uma poderosa ferramenta para o cumprimento deste tipo de tarefa: trata-se do conjunto de recursos conhecido como Web Forms.

A tecnologia Web Forms foi concebida tomando-se como base um conceito denominado RAD (Rapid Application Development): dentro desta metodologia é dada uma forte ênfase à construção de interfaces gráficas que possam ser modeladas facilmente a partir de uma ferramenta gráfica (no caso, o Visual Studio); para isto, é feito uso de um extenso conjunto de controles visuais, técnicas de orientação a objetos e programação orientada a eventos, buscando com isso agilizar o processo de desenvolvimento de novas aplicações.

Através do Web Forms procurou-se, em termos gerais, aproximar o desenvolvimento de soluções Web daquilo a que muitos programadores estavam acostumados na construção de aplicativos para desktop. Funcionalidades chamadas de CRUD estão presentes em muitos sites Web. É praticamente certo que aplicações com funções deste tipo (ou mesmo voltadas a outras finalidades) precisem efetuar validações nos dados passados por usuários, de maneira que apenas informações consistentes sejam persistidas num banco de dados, por exemplo.

O objetivo deste artigo é abordar os controles de validação do ASP.NET, apresentando para isto exemplos de como se empregar estes recursos em formulários Web. Tais componentes estão presentes desde o surgimento da plataforma .NET, representando uma alternativa simples, produtiva e bem estruturada na construção de páginas capazes de consistir as informações preenchidas por seus respectivos usuários.


Validação em Web Forms: uma visão geral

Durante o desenvolvimento de aplicações que envolvam a interação com usuários por meio do preenchimento de informações e, sobretudo, no ambiente Web, deve-se partir sempre do pressuposto que em algum momento serão preenchidos dados de uma forma errônea ou, até mesmo, que usuários mal intencionados tentem inserir conteúdos inválidos de forma proposital.

Considerando fatos como estes, acaba por ser imprescindível a preocupação com a verificação de informações fornecidas por usuários em soluções voltadas à Internet. O processo de validação de dados em páginas da Web pode ocorrer em 2 modos:

·         Client-side validation: a validação acontece do lado cliente, ou seja, a partir de scripts que constam na página Web e que são executados através do browser;

·         Server-side validation: os dados são submetidos ao servidor que hospeda a aplicação, de maneira que algum mecanismo presente neste último efetue as checagens necessárias, a fim de determinar com isto se as informações foram preenchidas conforme o esperado. Importante ressaltar que processos de validação deste tipo envolvem muitas vezes o acesso a bases de dados para a realização de verificações.

Um alerta deve ser feito acerca da validação do lado cliente: o uso de Javascript pode ser desativado dentro de um browser. Logo, é importante que aplicações Web disponham de mecanismos para a validação de dados não apenas no modo client-side, mas também chequem as informações recebidas durante o processamento de requisições do lado servidor.

Na Tabela 1 estão listados os controles que o ASP.NET disponibiliza para a realização de validações dentro da tecnologia Web Forms. De todos os componentes citados, apenas o controle CustomValidator emprega os 2 modos de validação já mencionados; a utilização dos demais acontece apenas para as checagens no lado cliente.

 O uso de todos os componentes de validação citados envolve, por sua vez, a exibição de algum tipo de mensagem em tela aos usuários. Logo, é primordial que o texto apresentado seja de claro entendimento, indicando em seu conteúdo o erro apontado e de que maneira pode-se solucionar tal problema.

Exemplo de como utilizar os controles de validação do ASP.NET

A aplicação apresentada neste artigo foi desenvolvida no .NET Framework 4.0, por meio da utilização do Microsoft Visual Studio 2010 Ultimate Edition, sendo que o conteúdo da mesma poderá ser baixado a partir do site da revista. O exemplo demonstrado a seguir tem por finalidade abordar, em termos gerais, os recursos de validação disponíveis dentro da tecnologia Web Forms do ASP.NET, expondo com isto maneiras de como se empregar tais mecanismos na verificação da consistência de informações submetidas por usuários.

Visando cumprir com este objetivo, será construída uma aplicação em ASP.NET para a inclusão e a consulta de objetos vinculados a uma coleção de produtos, simulando assim funcionalidades de cadastro e consulta de itens que estariam sendo comercializados por uma empresa hipotética.

Para criar um projeto de testes, é necessário que no Visual Studio você escolha o menu File -> New Project. Na tela New Project (Figura 1) deve-se selecionar o template ASP.NET Web Application(Para uma aplicação WEB), preenchendo o campo Name com o nome da aplicação a ser gerada (“TesteValidationASPNET”, neste caso); no campo Location é possível ainda se definir o diretório no qual serão criados os arquivos para este projeto.

Criação das classes contendo informações de produtos Com o projeto da aplicação TesteValidationASPNET gerado, será necessário prosseguir com a criação das classes a serem utilizadas na manipulação de informações sobre produtos. Primeiramente, será implementada a classe Produto. Para isto, você deve clicar dentro do Solution Explorer com o botão direito do mouse sobre a Web Application TesteValidationASPNET, escolhendo em seguida no menu de atalho a opção Add, subopção New Item. Neste momento, será exibida a tela Add New Item (Figura 2). No campo Name você deve preencher como “Produto.cs”, a fim de gerar o arquivo para implementação do tipo Produto.

 Na Listagem 1 está a definição da classe Produto, a qual conterá informações como código de barra, nome, níveis (quantidades) mínimo e máximo em estoque, além do preço de venda. Todas essas características de um produto serão implementadas por meio de propriedades.

 

·                    Listagem 1. Classe Produto

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

 

namespace TesteValidationASPNET

{

    public class Produto

    {

        public string CodigoBarra { get; set; }

 

        public string NomeProduto { get; set; }

 

        public int QtdMinimaEstoque { get; set; }

 

        public int QtdMaximaEstoque { get; set; }

 

        public decimal PrecoVenda { get; set; }

    }

}

 

Prosseguindo com a construção do projeto de exemplo, será necessário gerar neste momento a classe Catalogo. Seguindo os mesmos passos utilizados na criação da classe Produto adicione uma nova classe denominada “Catalogo.cs” , conforme mostra a Figura 3.

 Na Listagem 2 encontra-se a definição do tipo Catalogo. Trata-se de uma classe estática, ou seja, que não dependerá da geração de uma nova instância de objeto para a sua utilização; todas as informações armazenadas neste tipo estarão disponíveis, basicamente, durante todo o tempo em que uma instância de execução da aplicação TesteValidationASPNET permanecer na memória. Sendo um site, essa aplicação ficará disponível para acesso local, basicamente, enquanto o servidor de testes do Visual Studio estiver ativo.

A propriedade Produtos é somente leitura e quando acessada retorna uma lista do tipo List (a qual contém instâncias da classe Produto) e que está vinculada ao atributo estático _Produtos. Esta propriedade servirá de base, ao longo do exemplo aqui demonstrado, para armazenar produtos incluídos via site, bem na consulta de todos os itens já cadastrados anteriormente. Importante ressaltar ainda que uma instância de List será associada ao atributo _Produtos tão logo a classe Catalogo seja carregada em memória.

List faz uso do tipo genérico List , o qual deriva de IEnumerable. T representa, para a classe List e a interface IEnumerable, qualquer tipo válido dentro da plataforma .NET. Levando em consideração a classe Catalogo, utilizou-se Produto como tipo base para a definição da coleção em questão.

 

Nota: É importante ressaltar, ao se levar em conta a aplicação desenvolvida neste artigo, que o uso de uma classe estática para armazenar informações aconteceu apenas para efeitos de simplificação. Num cenário real, o normal seria que tais informações fossem persistidas num banco de dados relacional, de maneira que pudessem ser acessadas posteriormente, independentemente da aplicação Web ter sido reiniciada ou não.

 

·                    Listagem 2. Classe Catalogo

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

 

namespace TesteValidationASPNET

{

    public static class Catalogo

    {

        private static List<Produto> _Produtos = new List<Produto>();

 

        public static List<Produto> Produtos

        {

            get { return _Produtos; }

        }

    }

}

 

Implementação do site para testes

Para a criação da Web Application TesteValidationASPNET foi utilizado o template padrão que é disponibilizado pelo Visual Studio. Em virtude disto, algumas mudanças nas páginas que foram criadas automaticamente estarão sendo feitas conforme detalhado a seguir, tornando mais simples a aparência e a estrutura da aplicação de exemplo.

Na Listagem 3 encontra-se o código que define a aparência da Master Page Site.Master(ou conforme uma nomenclatura de sua preferência), a qual é referenciada pelas demais páginas do site. Esse tipo de estrutura conta normalmente com elementos visuais (menus, abas, legendas, etc.) que são comuns a várias páginas de uma aplicação, sendo que a utilização deste recurso evita a replicação de controles e outros itens ao longo de uma solução Web (algo que dificultaria atividades de manutenção futuras)."

A exibição deste artigo foi interrompida

Este post está disponível para assinantes MVP.



Atua como consultor em atividades voltadas ao desenvolvimento de softwares há mais de 10 anos. Bacharel em Sistemas de Informação, com especialização em Engenharia de Software. Microsoft Certified Technology Specialist (Web, WCF, [...]

O que você achou deste post?
Publicidade
Serviços

Mais posts