Validação do Formulário de Ajax Utilizando a Spring e o DWR – Parte 01
Dando introdução a validação do formulário de Ajax utilizando a Spring e o DWR
Validação do Formulário de Ajax Utilizando a Spring e o DWR – Parte 01
Eric Spiegelberg
A validação da entrada de dados é um elemento crítico em quase todas as aplicações. Independente de sua finalidade, arquitetura, ou a plataforma na qual funcionará, é prática comum assegurar que toda entrada de dados é válida antes de ser aceita. Em aplicativos três camadas, a escolha deve ser feita para validar entrada de dados do usuário no lado do servidor, do cliente ou em ambos.
A validação do lado do servidor é o padrão da indústria, mas ela requer que o usuário preencha o formulário, clique em uma opção de submissão e espere pela atualização da página. Este tipo de validação proporciona uma experiência de uso ruim para o usuário, devido às constantes atualizações e trocas de mensagem entre o cliente e o servidor.
Embora a validação do lado do cliente, utilizando Javascript, proporcione retorno imediato e uma melhor experiência de uso, ela tem muitas desvantagens tais como ser cansativa e propensa a erros para desenvolver, e ser difícil de testar. As implementações inconsistentes através dos diferentes navegadores e o fato de que um usuário pode desabilitar o Javascript é o suficiente para concluir que a validação do lado do cliente por si só não é suficiente. Embora, superficialmente, uma abordagem híbrida de execução da validação, tanto no cliente como no servidor, possa parecer uma boa solução, não demora muito para perceber que ao longo tempo de desenvolvimento, a duplicação da lógica e os inevitáveis problemas de manutenção e testes, rapidamente excedem em peso as vantagens.
Uma solução ideal seria escrever a sua lógica de validação no servidor e então ter alguma maneira de invocá-la diretamente do cliente, dando a aparência da validação do lado do cliente. Se em alguma circunstância esta aparente validação do lado do cliente não for executada corretamente, tal como uma incompatibilidade de navegador ou o Javascript estar desligado, este mecanismo deverá falhar e permitir o funcionamento normal do processamento da tradicional validação do lado do servidor. De fato, você ganharia todas as vantagens da abordagem híbrida enquanto evitaria as suas desvantagens e as desvantagens da validação meramente do lado do cliente.
Com o crescimento e subseqüente aceitação de Ajax, você agora pode fazer exatamente isso. Usando aquilo a que conhecemos como formulário de validação do Ajax, assim que um usuário termina de preencher um campo do formulário de entrada de dados, um processo do navegador pode, com transparência, transmitir o valor da entrada de dados do formulário ao servidor. O servidor executa então a validação dos valores das entradas de dados. Caso o servidor determine um valor da entrada de dados inválido, uma mensagem de erro de validação é retornada ao navegador e exibida dinamicamente próxima à entrada inválida do formulário.
Este artigo apresenta um projeto genérico e reutilizável de validação de formulários em Ajax que, por utilizar componentes open source existentes, pode fácil e rapidamente ser usado para o validar cada formulário de seus aplicativos. Para fornecer um exemplo concreto, o formulário de registro da aplicação exemplo jPetstore, fornecido pelo framework Spring, foi modificado. Este artigo descreve os passos realizados para modificar o jPetstore e discute os detalhes dos níveis de projeto e de execução.
Antes de começarmos, é importante destacarmos que o leitor já possui conhecimentos básicos do framework Spring e do MVC. Caso você não esteja familiarizado com Spring, não se preocupe. Conceitualmente, toda informação apresentada se aplica, igualmente, a qualquer framework MVC e seria trivial modificar os exemplos fornecidos para trabalhar com Struts ou JSF, por exemplo.
Começando
Os seguintes passos servirão como guia através da instalação e execução do código exemplo:
1.Efetue o download do Spring e suas dependências na página de downloads do Spring (http://www.springframework.org);
2.Extraia o arquivo em um local conveniente. Este diretório será chamado de SPRING_HOME;
3.Efetue o download do jPetstore modificado para incluir a validação com Ajax na página de registro de usuário (https://sourceforge.net/projects/easyajaxvalidat);
4.Extraia o jPetstore modificado para SPRING_HOME/exemplos, sobrescrevendo o diretório original de jpetstore.
5.Compile e carregue o jPetstore para o seu servidor;
6.Inicie o banco de dados HSQL necessário a jPetstore entrando em SPRING_HOME/exemplos/jpetstore/db/hsqldb e dando um duplo clique em server.bat.;
7.Inicie seu servidor de aplicativo;
8.Aponte seu navegador para http://localhost:8080/jpetstore/shop/newAccount.do.
Com o aplicativo exemplo instalado e em funcionamento, podemos seguir e discutir os três componentes requeridos para executar a validação utilizando Ajax: a infra-estrutura e lógica de validação do lado do servidor; um framework de comunicação Ajax para ordenar informações entre o servidor e o cliente e; o JavaScript do lado do cliente utilizado para controlar o processo. Pelo fato da utilização de um mecanismo de validação do lado do servidor ser provavelmente mais familiar, começaremos por lá.
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo