NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Você está em: PrincipalArtigosASP.NET › Capítulo 08 : 04
Quer receber novidades e e-books gratuitos?
« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
ASP.NET - CURSO COMPLETO
Autor: Júlio Battisti

Lição 061 - Capítulo 08 - O controle CompareValidator

Este controle é utilizado para comparar o valor digitado em um campo associado com o controle CompareValidator, com um valor constante, com um valor de outro campo (através da utilização da propriedade value deste outro campo) ou com o valor de um campo de uma tabela em um banco de dados. Se o valor digitado ou selecionado para o campo não for igual ao valor de comparação, o controle não passará no teste de validação.

A sintaxe para este controle é a seguinte:

<asp:CompareValidator
            id="identificação  no código" 
            runat="server" 
            ControlToValidate="nome  do controle associado" 
            ValueToCompare="um valor  constante" 
            Type="Tipo  do valor a ser comparado: string, Int32, Double, etc." 
            Operator="Operador  de comparação: maior do que, menor do que, etc." 
            ErrorMessage="Mensagem  de erro."
                 ForeColor="Cor da fonte."
            BackColor="Cor  de segundo plano" 
> 
</asp:CompareValidator>
Uma sintaxe alternativa é a seguinte:
<asp:CompareValidator
            id="identificação  no código" 
            runat="server" 
            ControlToValidate="nome  do controle associado" 
            ValueToCompare="um valor  constante" 
            Type="Tipo  do valor a ser comparado: string, Int32, Double, etc." 
            Operator="Operador  de comparação: maior do que, menor do que, etc." 
            ErrorMessage="Mensagem  de erro."
                 ForeColor="Cor da fonte."
            BackColor="Cor  de segundo plano" 
/> 

Observe que ao invés de fechar a tag desta maneira: </asp:CompareValidator>, simplesmente utilizamos um />. As duas sintaxes são válidas.

Onde podemos utilizar os seguintes atributos:

  • id: É um nome que identifica o controle. Este nome é utilizado no código para acessar as propriedades e métodos do controle.
  • runat=”server”: identifica como sendo um controle de servidor. Todos os controles asp: são controles de servidor.
  • ControlToValidate: Neste atributo definimos o nome do controle que será validado pelo controle de validação. Por exemplo se o controle de validação está associado com um campo Nome do formulário, nesta propriedade devemos informar a identificação do controle Nome. A identificação é o valor definido na propriedade id do controle Nome. Esta frase foi repetitiva e enfadonha, novamente, de propósito, para que você não esqueça esta associação.
  • ValueToCompare: Define o valor de comparação. Pode ser uma constante, o valor contido em um outro campo ou em um banco de dados.
  • Type: Define o tipo de dados do valor de comparação.
  • Operator: Define o operador de comparação.
  • ErrorMessage: Podemos definir uma mensagem de erro que será exibida, caso a validação do campo falhe. Por exemplo, o usuário não preencheu um campo de preenchimento obrigatório.
  • ForeColor: Utilizado para definir a cor do texto da mensagem de erro.
  • BackColor: Utilizado para definir a cor de segundo plano do texto da mensagem de erro.

Vamos a um exemplo simples. Vamos criar um formulário onde temos um campo para digitação, onde deve ser digitado um valor menor do que 100. Vamos utilizar um controle CompareValidator para verificar se o número digitado atende o critério de ser menor do que 100.

Na Listagem 8.3 temos o código para o exemplo proposto.

Listagem 8.3 – O controle de validação CompareValidator.

<html>
<head>
   <script language="C#"  runat="server">
  void  Enviar_Click(Object sender, EventArgs e) 
      {
            // Código  para gravar os dados recebidos no
            // banco de  dados.
      }
   </script>
</head>
<body>
   <form  runat=server>
            <h3>Exemplo  do controle CompareValidator!!!</h3>
            <input  id="valor" type=text size=40 runat="server">
            <BR>
            <B>
            <asp:CompareValidator
            id="valida_valor" 
            runat="server" 
            ControlToValidate="valor" 
            ValueToCompare="100" 
            Type="Double" 
            Operator="LessThan" 
            ErrorMessage="Digite  um valor menor do que 100."
                ForeColor="Blue"
            BackColor="Cyan" 
            > 
            </asp:CompareValidator>
            </B>
            <BR>
            <BR>  
            <input  type=submit value="Enviar" OnServerClick="Enviar_Click"  runat="server">
</form>
</body>
</html>

Digite o código da Listagem 8.3 e salve o mesmo em um arquivo chamado chap8ex3.aspx, na pasta chap8, dentro da pasta wwwroot, conforme descrito no item: “Check List para acompanhar os exemplos deste livro”, no Capítulo 6.

Para acessar esta página utilize o seguinte endereço:

http://localhost/chap8/chap8ex3.aspx

No campo valor digite 50. Dê um clique no botão Enviar. Observe que nenhuma mensagem de erro é emitida.

Agora digite 120 no campo valor. Dê um clique no botão Enviar. Você obterá uma mensagem de erro, conforme indicado na Figura 8.6.

Curso Completo de ASP.NET - Júlio Battisti
Figura 8.6 O controle de validação CompareValidator entrando em ação.

Observe que nesta caso o campo de validação detectou que o campo valor possui um valor maior do que 100 e a mensagem de erro foi exibida.

Vamos comentar a definição de duas propriedades do controle CompareValidator:

  • ValueToCompare="100" : Esta propriedade define um valor constante para comparação com o valor digitado.
  • Operator="LessThan": Nesta propriedade definimos o operador de comparação. No exemplo definimos menor do que (LessThan). Na Tabela 8.1 temos a definição dos operadores permitidos para esta propriedade.
Valor Descrição
Equal Igual a
GreaterThan Maior que
GreaterThanEqual Maior ou igual a
LessThan Menor que
LessThanEqual Menor ou igual a
NotEqual Diferente

Tabela 8.1 Valores para a propriedade Operator

Nota: Estes valores estão definidos em uma estrutura do tipo Enumeration, chamada ValidationCompareOperator. Esta estrutura faz parte do namespace System.Web.UI.WebControls.

Ao invés de especificar um valor constante de comparação, utilizando a propriedade ValueToCompare, podemos utilizar a propriedade ControlToCampare, para utilizar, para comparação, o valor contido em outro controle do formulário. Por exemplo, se tivéssemos um campo chamado ValorDeReferência, no formulário do exemplo da Listagem 8.3, poderíamos definir o controle CompareValidator da seguinte maneira:

<asp:CompareValidator
            id="valida_valor" 
            runat="server" 
            ControlToValidate="valor" 
            ControlToCompare="ValorDeReferência" 
            Type="Double" 
            Operator="LessThan" 
            ErrorMessage="Digite  um valor menor do que 100."
            ForeColor="Blue"
            BackColor="Cyan" 
            > 
            </asp:CompareValidator>

Com esta modificação, o valor digitado no campo valor, será comparado com o valor do controle ValorDeReferência, devendo ser menor do que este valor, conforme definição da propriedade Operator=”LessThan”.

« Lição anterior Δ Página principal ¤ Capítulos Próxima lição »
Quer receber novidades e e-books gratuitos?

 
 

Contato: Telefone: (51) 3717-3796 | E-mail: webmaster@juliobattisti.com.br | Whatsapp: (51) 99627-3434

Júlio Battisti Livros e Cursos Ltda | CNPJ: 08.916.484/0001-25 | Rua Vereador Ivo Cláudio Weigel, 537 - Universitário, Santa Cruz do Sul/RS, CEP: 96816-208

Todos os direitos reservados, Júlio Battisti 2001-2024 ®

LIVRO: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2016 - CURSO COMPLETO E PRÁTICO

DOMINE A PROGRAMAÇÃO VBA NO EXCEL - 878 PÁGINAS - CLIQUE AQUI