Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira [email protected] Introdução • Frequentemente necessitamos validar dados fornecidos pelo usuário, seja em uma página de login, de cadastro ou em uma página que envia sua senha por e-mail. • Embora não seja possível garantir a precisão das informações fornecidas, ao possibilitar que o usuário cadastre dados em um site, deseja-se que as informações sejam ao menos válidas. • Por exemplo: Ao preencher um campo e-mail, deseja-se que o usuário digite um e-mail válido e não seu telefone, ou qualquer outra coisa. Introdução • Existem diferentes maneiras de validar essas informações, as mais comuns: – Submeter os dados digitados para o servidor e realizar a validação – Utilizar JavaScript (desenvolvido manualmente) • Visando facilitar esse trabalho de validação, o ASP.NET 2.0 inclui 6 controles que possibilitam gerenciar as informações digitadas: – RequiredFieldValidator, RangeValidator, RegularExpressionValidator, CompareValidator, CustomValidator e ValitationSummary Controles de Validação • RequiredFieldValidator – Garante que um campo seja preenchido. Utilizado quando o preenchimento do campo é obrigatório • RangeValidator – Garante que o valor de um campo esteja dentro de um intervalo definido. • RegularExpressionValidator – Utilizam expressão regular para validar um determinado campo. Utilizado para validar um campo de e-mail, por exemplo. • CompareValidator – Valida os dados de um campo, através da comparação com um valor definido, ou com outro campo. Controles de validação • CustomValidator – Possibilita que o programador defina sua própria função de validação, do lado servidor e do cliente. • ValitationSummary – Exibe um resumo de todos os erros de validação de uma página. Controles de Validação • Funcionam basicamente da mesma forma: 1. Definir o controle que será validado 2. Colocar o(s) validador(es) na posição da página onde deseja 3. Alterar a propriedade ControlToValidade a qual identifica o controle que será validado 4. Alterar a propriedade ErrorMessage, que deverá conter a mensagem que deseja exibir Onde utilizar o validadores? • Os validadores do ASP.NET podem ser utilizados com diversos controles entre eles: – – – – – – TextBox, ListBox, DropDownList, RadioButtonList, HtmlInputText, HtmlTextArea, etc Como a validação da página funciona • A validação fornecida pelo ASP.NET fornece suporte a dois tipos de validação: – Lado cliente (JavaScript) – Lado servidor (fornece essa validação para clientes que não possuem suporte a JavaScript e também para garantir que as informações não foram modificadas ou corrompidas durante a transmissão para o servidor) Validação do lado cliente • Os validadores do ASP.NET realizam a validação do lado cliente vinculando um arquivo JavaScript denominado WebUIValidation.js ao código HTML enviado ao navegador • Esse arquivo, contém as funções de validação necessárias à validação da página • Ao tentar submeter a página para o servidor, as funções JavaScript validam os controles e caso exista algum problema, cancela a submissão, caso contrário permite o envio. • Porém nem todos os clientes possuem suporte a JavaScritp, nesse caso devem contar com a validação do lado servidor. Validação do lado servidor • Ao submeter a página para o servidor, inicia-se a validação do lado servidor • Essa validação é gerenciada pela infra-estrutura na classe Page, que executa o método Validate() de cada controle de validação para verificar se as informações são válidas. Esse processo é executado após o método Page_Load da página • Caso seja necessário verificar a confiabilidade dos dados no código C#, é possível utilizar a propriedade IsValid da página Outras propriedades dos validadores • A propriedade Display que recebe o valores Static ou Dynamic faz com que a mensagem do controle mesmo que invisível ocupe espaço no layout da página (quando definido como Static) ou não ocupe espaço quando invisível (quando definido como Dynamic) • Outra propriedade interessante dos controle de validação é a ValidationGroup que possibilita agrupar controles de validação, ou seja, é possível definir grupos de validação e acionar somente alguns grupos em determinado momento. Exercícios • Crair uma página para validar o nome de usuário e senha de uma página de login • Criar uma página para cadastro de contatos, a qual valide todos os campos digitados. Bibliografia • • • • • • http://kleizer.wordpress.com/2006/06/29/controles-devalidacao/ Shepherd, George. Microsoft ASP.NET 2.0 Passo a Passo. Bookman. 2005. http://www.devhood.com/Tutorials/tutorial_details.aspx?tutorial _id=46 http://www.codersource.net/asp_net_validation_controls.aspx http://www.radsoftware.com.au/articles/regexlearnsyntax.aspx http://guia-er.sourceforge.net/guia-er-40.html