ASP NET - Required Field Validator

Teste do Required Field Validator


Clique no campo texto acima e digite algo ou não.

Clique fora do campo texto - Deve ativar a validação

Se você clicar no campo, deixar ele em branco e clicar fora do campo - A validação recusa o campo mas so no Page.IsValid() que a gente pega o resultado da valiação. Nenhuma mensagem é exibida.

Se na carga da página o campo texto vier com um valor default ele será tratado como vazio, ou seja, o texto original será ignorado ou não será aceito de volta.

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

        <asp:RequiredFieldValidator
            ID="RequiredFieldValidator1"
            runat="server"
            ErrorMessage="Não passou na Validação"
            ForeColor="Red"
            ControlToValidate="TextBox1"
            ToolTip="Não esquecer de preencher"
            Display="Dynamic">

        </asp:RequiredFieldValidator>

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.
A propriedade Text do validator tem a mensagem de erro ou não e é ela que devemos utilizar para tomar decisões como o submit da página. Podemos também verficar o valor do parametro Page.IsValid no submit da página mas isto ocorre quando a página já foi enviada ao servidor.

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'.
   •O campo ValueToCompare não existe neste controle.

O parâmetro Type Não existe neste controle.

O parâmetro Operator Não existe neste controle.

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.