Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouCaroline Garces Alterado mais de 11 anos atrás
1
Controles de validação 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula
2
Resumo da aula O objetivo de hoje é conhecer mais alguns dos componentes disponibilizados pelo ASP.NET. Vamos focar nos componentes de validação, que permitem validações automatizadas de componentes.
3
Lembre-se: ASP.NET é baseado em dezenas de componentes visuais 3
4
Tipos de componentes Validator Controls Controles de validação de dados; Validações automatizadas.
5
Validation: Chamado na validação dos dados fornecidos; Depois do Page_Load; Antes da chamada aos eventos (Clique etc); Pode impedir o clique. 5
6
Controles de Validação Transformam os controles já existentes em controles sensíveis à validação; A validação é armazenada no controle de validação; O resultado da validação também pode ser exibido em um sumário de validação - componente ValidationSummaryValidationSummary 6
7
7 Ligação via ControlToValidate
8
Principais propriedades dos validadores ControlToValidate: ID do controle que deve ser validado; EnableClientScript: Habilita validação via JavaScript; Text: texto exibido no validador quando ocorre o erro; ErrorMessage: Texto exibido no sumário de validação; SetFocusOnError: Foca no controle quando inválido após a submissão. 8
9
9 Propriedade Text => * Propriedade ErrorMessage => TxtBox1 é Obrigatório
10
Como saber se um PostBack é válido? Page.IsValid Não pode ser usado no PageLoad; Usado quando não é possível validação em JavaScript; if(Page.IsValid) { // Código para página válida } 10
11
Passo a passo para aplicação dos validadores 1) Tente usar os validadores: RequiredFieldValidator: campo obrigatório; RangeValidator: Intervalo (numérico, string, data); CompareValidator: Validação do tipo de dado, comparação entre dois componentes, comporação entre componente e valor. 11
12
Passo a passo para aplicação dos validadores 2) Se os validadores anteriores não resolverem o problema: RegularExpressionValidator: uso de expressões regulares. 3) Se os validadores anteriores não resolverem o problema: CustomValidator. 4) Cheque no evento (Click, ServerValidate, etc), a variável Page.IsValid. 12
13
RequiredFieldValidator Garante que um campo seja obrigatório; 13
14
RangeValidator Verifica um intervalo de valores; Propriedades Principais: MinimumValue: Valor mínimo; MaximumValue: Valor mínimo; Type: Tipo de dado a ser validado: String; Inteiro; Double; Date; Money (Dinheiro). 14
15
CompareValidator Comparação entre controles; Checagem do tipo de dado; Comparação entre valores; 15
16
CompareValidator - Propriedades ControlToValidate; ControlToCompare: ID do controle a ser comparado; Operator: operação de operação: igual, diferente, maior que, maior ou igual, menor que, menor ou igual, checagem do tipo de dados (DataTypeCheck). Type: tipo dos valores sendo comparados; ValueToCompare: Valor a ser comparado. 16
17
RegularExpressionValidator Valida a partir de uma expressão regular contida na propriedade ValidationExpression. 17
18
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. 18
19
19 Uma expressão regular serve para casar um padrão com um texto
20
Utilidade Procurar texto dentro de outro; Separar um ou mais subtextos dentro de um texto; Validar texto em relação a um padrão. 20
21
Principais metacaracteres 21 Metacarac.NomeSignificadoCasaÑ Casa.PontoUm caractere qualquer n.o casa com não, não, n-o n.o não casa com na, naao [...]ListaQualquer um n[aã]o casa com não, nao n[aã]o não casa com no, nãão [.-.]IntervaloIntervalo 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
22
Principais metacaracteres 22 Metacaract.NomeSignificadoCasaÑ 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
23
Principais metacaracteres 23 Metacaract.NomeSignificadoCasaÑ 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 |OuUm ou outromão|pão casa com mão ()GrupoAgrupa elementos (\.[0-9]){3} casa com.0.1.2
24
Principais metacaracteres 24 Metacaract.NomeSignificadoCasa \dDígitoÉ um dígito (0 a 9) \d\d\d casa com 123 \DNão dígitoNão é um dígito\D=\d+\+\d+ casa com A = 1 + 1 \wLetraÉ uma letra\w+ casa com a, ab, abc
25
Importante! \ faz o escape dos caracteres; \., \(, \),... 25
26
Exemplos (\(0xx[0-9]{2}\) ?)?[0-9]{4}-[0-9]{4} 26
27
27 Casa com: (0xx41) 3244- 3333, 3233-3333 Não casa com: (0 3244-3333
28
Exemplos ([01][0-9]|2[0-3]):[0-5][0-9] 28
29
29 Casa com: 22:30, 12:40, 01:59 Não casa com: 23:61, 25:59
30
CustomValidator CustomValidator Propriedades principais Validações personalizadas; Propriedade ControlToValidate: Controle a ser validado; Propriedade ClientValidationFunction: Função em JavaScript a ser chamada caso necessário; Evento ServerValidate: Função que verifica se o campo é válido. 30
31
Exemplo de código do evento ServerValidate 31 protected void CustomValidator1_ServerValidate(object source, ServerValidateEventArgs args) { // args.Value obtém o valor do campo int num = Convert.ToInt32(args.Value); // args.IsValid = true indica que o dado está válido // args.IsValid = false indica que o dado está inválido args.IsValid = (num % 2 == 0); }
32
Validação em JavaScript Propriedade ClientValidationFunction 32 var validarPar = function(src, args){ args.IsValid = (args.Value % 2 == 0); }
33
Validação no Servidor agora exige a verificação do Page.IsValid 33 protected void Button1_Click(object sender, EventArgs e) { if (Page.IsValid) { Label1.Text = TextBox1.Text; }
34
Referências Portal: http://www.asp.net/ Início: http://www.asp.net/get-started/ Aprenda: http://www.asp.net/learn/ 34
35
Referências Vídeo sobre validação (16 minutos): http://www.asp.net/learn/videos/video- 7419.aspx http://www.asp.net/learn/videos/video- 7419.aspx ASP.NET QuickStart: http://quickstarts.asp.net/QuickStartv20/as pnet/doc/ctrlref/validation/default.aspx http://quickstarts.asp.net/QuickStartv20/as pnet/doc/ctrlref/validation/default.aspx 35
36
Referências ASP.NET Validation in Depth: http://msdn.microsoft.com/en- us/library/aa479045.aspx http://msdn.microsoft.com/en- us/library/aa479045.aspx Artigo sobre os validadores. 36 13/1/2014
37
Referências Portal 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/ http://nerdson.com/blog/em-terra-de- metacaractere-quem-tem-um-asterisco-e-rei/ Testador de regexp: http://regexpal.com/http://regexpal.com/ 37
38
Referências CPF e CNPJ em C#: http://www.devmedia.com.br/articles/viewc omp.asp?comp=3950 http://www.devmedia.com.br/articles/viewc omp.asp?comp=3950 http://buildbrasil.org/blogs/csharp/archive/ 2009/06/01/valida-231-227-o-de-cpf.aspx http://buildbrasil.org/blogs/csharp/archive/ 2009/06/01/valida-231-227-o-de-cpf.aspx 38
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.