A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Controles de validação 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Apresentações semelhantes


Apresentação em tema: "Controles de validação 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula."— Transcrição da apresentação:

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


Carregar ppt "Controles de validação 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula."

Apresentações semelhantes


Anúncios Google