ASP NET - Compare Validator

Teste do Compare Validator


Clique na caixa de texto acima e digite um texto qualquer.

Só será aceito o String Teste

Importante : O texto é case sensitive (diferencia maiúsculas de minúsculas)

Clique com o mouse fora da caixa. Isso dispara o processo de validação.

Se você digitou Texto nada será exibido senão uma mensagem de erro em vermelho será exibida.

Exemplo de código:
    <form id="form1" runat="server">
        <h2>Compare Validator Equal Teste</h2>
        <p><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></p>

        <p>
            <asp:CompareValidator
                ID="CompareValidator1"
                runat="server"
                ControlToValidate="TextBox1"
                ErrorMessage="Mensagem de erro do Compare Validator."
                ForeColor="Red"
                ToolTip="Dica do Compare Validator"
                ValueToCompare="Teste">
            </asp:CompareValidator>
        </p>
        <p>Só deve aceitar o String Teste</p>
    </form>

Importante 1 :Não se esqueça de configurar AutoEventWireup="true" no @Page da página. Isto é que dispara o evento quando o controle perde o foco.

Importante 2 : O validator apenas coloca ou não a mensagem de erro mas não toma nenhuma atitude.

Basicamente nesse controle definimos alguns parâmetros :
   •ControlToValidate : Id do Controle a ser validado.
   •ErrorMessage : A mensagem a ser exibida em caso de erro.
   •ForeColor : Red : A cor da mensagem em vermelho.
   •ToolTip : Dica que neste caso é a mensagem 'Dica do Compare Validator'.
   •ValueToCompare : String que a comparação deve aceitar.

O parâmetro Type define qual o tipo de validação :
   •Currency: Comparação de valores monetários.
   •Data : Comparação entre datas.
   •Double : Comparação numérica com ponto decimal.
   •Integer : Comparação numérica com número inteiro.
   •String : Default.

O parâmetro Operator diz que tipo de comparação deverá ser feita :
   •DataTypeCheck : Comparação tipo Data.
   •Equal : Igual - Default.
   •Greater than : Maior que.
   •GreaterthanEqual : Maior que ou igual.
   •LessThan : Menor que.
   •LessThanEqual : Menor que ou igual.
   •NotEqual : Diferente.

Outro parâmetro importante é o EnableClientScript que possibilita criar uma rotina javascript para tratar a validação do lado do cliente antes de submeter a validação do lado do servidor.

Outro fato importante a citar sobre o CompareValidator é que ele não é um controle ASPNET mas sim AJAX e com isto funciona em páginas asp, aspx, html, etc.

Botão Submit

No caso de termos que trabalhar com a validação em conjunto com o botão de submit faríamos o seguinte :

<asp:Button ID="btnEnviar" runat="server" Text="Enviar" OnClick="btnEnviar_Click" />

    Protected Sub btnEnviar_Click(sender As Object, e As EventArgs)
        Page.Validate()

        If Page.IsValid Then
            lblMsg.Text = "Texto validado...seguindo com submit dos dados"
        End If

Se o validador aprovar o parâmetro Page.IsValid será true. Caso contrário será falso e o processo nada fará mas o validador automaticamente colocará a mensagem de erro de validação na tela.