Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação...

20
Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula

Transcript of Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação...

Page 1: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Componentes ASP.NETValidação – Parte 22º Semestre 2009 > PUCPR > Tecnologia de Programação 2

Bruno C. de PaulaBruno C. de Paula

Page 2: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Resumo da aula

O objetivo de hoje é conhecer mais alguns dos componentes disponibilizados pelo ASP.NET.

Vamos focar nos componentes de validação.

Hoje: RegularExpressionValidator

Page 3: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Tipos de componentesValidator Controls

Controles de validação de dados;

Validações automatizadas.

Page 4: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Controle de Hoje

411/04/23

Page 5: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Expressão Regular (regexp)Método formal para especificar um padrão de texto;

Composição de símbolos no formato de regra;

O maior desafio está em aprender a ler e escrever uma regexp.

511/04/23

Page 6: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

611/04/23

Uma expressão regular

serve para casar um

padrão comum texto

Page 7: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Utilidade

Procurar texto dentro de outro;

Separar um ou mais subtextos dentro de um texto;

Validar texto em relação a um padrão.

711/04/23

Page 8: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Principais metacaracteres

811/04/23

Metacaracte Nome Significado Casa Ñ Casa

. Ponto Um caractere qualquer

n.o casa com não, não, n-o

n.o não casa com na, naao

[...] Lista Qualquer um

n[aã]o casa com não, nao

n[aã]o não casa com no, nãão

[.-.] Intervalo Intervalo entre caracts

X[1-9]Y casa com X1Y, X2Y

X[1-9]Y não casa com XAY

[^...] Lista negada

Qualquer um exceto

X[^a-z] casa com XA, XB

X[^a-z] não casa com Xa

Page 9: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Principais metacaracteres

911/04/23

Metacaracte Nome Significado Casa Ñ Casa

? Opcional(0 ou 1)

Anterior pode ou não ocorrer

amar?! Casa com ama! e com amar!

amar? não casa com amado

* Muitos(0 ou muitos)

Anterior pode ocorrer diversas vezes

[ar]*a casa com a, arara, ra

+ Muitos (1 ou muitos)

Anterior pode ocorrer diversas vezes

5+1 casa com 51, 551

5+1 não casa com 1

Page 10: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Principais metacaracteres

1011/04/23

Metacaracte Nome Significado Casa Ñ Casa

{,} Muitos(Chaves)

Anterior aparece pelo menos n e no máximo m vezes

5{3,5}1 casa com 5551, 55551

5{3,5}1 não casa com 551

| Ou Um ou outro

mão|pão casa com mão

() Grupo Agrupa elementos

(\.[0-9]){3} casa com .0.1.2

Page 11: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Principais metacaracteres

1111/04/23

Metacaracte Nome Significado Casa

\d Dígito É um dígito (0 a 9)

\d\d\d casa com 123

\D Não dígito Não é um dígito \D=\d+\+\d+ casa com A = 1 + 1

\w Letra É uma letra \w+ casa com a, ab, abc

Page 12: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Importante!

\ faz o escape dos caracteres;\. , \(, \), ...

1211/04/23

Page 13: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Exemplos

(\(0xx[0-9]{2}\) ?)?[0-9]{4}-[0-9]{4}

1311/04/23

Page 14: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

1411/04/23

Casa com: (0xx41) 3244-

3333,3233-3333

Não casa com:(0 3244-3333

Page 15: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Exemplos

([01][0-9]|2[0-3]):[0-5][0-9]

1511/04/23

Page 16: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

1611/04/23

Casa com: 22:30, 12:40,

01:59

Não casa com:23:61, 25:59

Page 17: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Componente RegularExpressionValidatorValida a partir de uma expressão

regular contida na propriedade ValidationExpression.

1711/04/23

Page 18: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

ReferênciasPortal sobre Expressões Regulares:– http://aurelio.net/er/

Livro gratuito sobre Expressões Regulares:– http://guia-er.sourceforge.net/

Livro sobre Expressões Regulares:– http://www.novatec.com.br/livros/expreg2/

Uma excelente explicação para iniciantes:– http://nerdson.com/blog/em-terra-de-

metacaractere-quem-tem-um-asterisco-e-rei/Testador de regexp: http://regexpal.com/

1811/04/23

Page 19: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

Referências

Portal:–http://www.asp.net/

Início:–http://www.asp.net/get-started/

Aprenda:–http://www.asp.net/learn/

1911/04/23

Page 20: Componentes ASP.NET Validação – Parte 2 2º Semestre 2009 > PUCPR > Tecnologia de Programação 2 Bruno C. de Paula.

ReferênciasVídeo sobre validação (16 minutos):–http://www.asp.net/learn/videos/

video-7419.aspx

ASP.NET QuickStart:–http://quickstarts.asp.net/

QuickStartv20/aspnet/doc/ctrlref/validation/default.aspx

2011/04/23