Clique na caixa de texto acima e digite um número.
Clique com o mouse fora da caixa. Isso dispara o processo de validação.
Só deve aceitar números de 10 a 20 inclusive
Exemplo de código:
<form id="form1" runat="server">
<h2>Range Validator</h2>
<p><asp:TextBox ID="TextBox1" runat="server"></asp:TextBox></p>
<asp:RangeValidator
ID="RangeValidator1"
runat="server"
ErrorMessage="Fora da Faixa"
ControlToValidate="TextBox1"
MinimumValue="10"
MaximumValue="20"
ForeColor="Red"
Type="Integer"
ToolTip="Será aceito valores de 10 a 20 inclusive">
</asp:RangeValidator>
<p>Só deve aceitar números de 10 a 20 inclusive</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'.
•MinimumValue : Valor mínimo a ser aceito.
•MaximumValue : Valor máximo a ser aceito.
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 neste controle não existe porque ele sempre aceitará uma faixa de valores.
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.
O código a ser inserido na página para o botão de submit funcionar corretamente é :
<asp:Button ID="btnEnviar" runat="server" Text="Enviar" OnClick="btnEnviar_Click" />
Protected Sub btnEnviar_Click(sender As Object, e As EventArgs)
Page.Validate()
lblMsg.Text = "Note que o processo só passa por aqui se a validação for OK e ai esta mensagem será sobrescrita pela msg abaixo"
If Not Page.IsValid Then
'lblMsg.Text = "Dados Inválidos...submit dos dados Cancelado"
'btnEnviar.UseSubmitBehavior = False
Else
lblMsg.Text = "Texto validado...seguindo com submit dos dados"
End If
End Sub