Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira...

15

Transcript of Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira...

Page 1: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.
Page 2: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

Tecnologia para WebControles de Validação

Enrique Pimentel Leite de Oliveira

[email protected]

Page 3: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 4: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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

Page 5: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 6: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 7: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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

Page 8: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

Onde utilizar o validadores?• Os validadores do ASP.NET podem ser utilizados

com diversos controles entre eles:– TextBox,

– ListBox,

– DropDownList,

– RadioButtonList,

– HtmlInputText,

– HtmlTextArea, etc

Page 9: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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)

Page 10: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 11: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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

Page 12: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 13: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

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.

Page 14: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.

Bibliografia• http://kleizer.wordpress.com/2006/06/29/controles-de-

validacao/• 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

Page 15: Tecnologia para Web Controles de Validação Enrique Pimentel Leite de Oliveira enrique.leite@aes.edu.br.