Como: Validar contra um valor específico para controles de servidor ASP.NET
Usando controles de validação do ASP.NET, você pode validar uma entrada de usuário em relação a um valor específico usando operadores lógicos.Por exemplo, você pode especificar que a entrada do usuário é uma data após 1° de janeiro, 1950 ou que ela é um valor inteiro maior ou igual a zero.Como alternativa, você pode especificar que a entrada de usuário seja comparada com um valor de outro controle.
Observação de segurança: |
---|
A entrada de usuário em páginas da Web ASP.NET pode incluir script de cliente possivelmente mal-intencionado.Para obter mais informações, consulte Visão Geral de Scripts Maliciosos. |
Para validar em relação um valor específico
Adicione um controle CompareValidator para a página e defina as seguintes propriedades:
Propriedade
Descrição
A identificação do controle (ID) para o qual o usuário deve fornecer um valor.
Propriedades que especificam o texto e a localidade do erro ou erros que aparecerá se o usuário ignora o controle.Para obter detalhes, consulte:Como: Controle validação erro mensagem Display for ASP.NET servidor Controls.
Defina o valor a ser comparado, definindo as propriedades a seguir:
Propriedade
Descrição
- ou -
Uma expressão inserida como uma sequência de caracteres.Para comparar com um valor constante, defina a propriedade ValueToCompare.Para comparar com o valor de outro controle, defina a propriedade ControlToCompare como a identificação do controle.(O controle CompareValidator compara a entrada do usuário contra qualquer propriedade que seja especificada de outro ValidationPropertyAttribute do controle).Se você definir tanto ValueToCompare quanto ControlToCompare, ControlToCompare terá precedência.
O tipo de dados dos dois valores a serem comparados.Os tipos são especificados usando a enumeração ValidationDataType, que permite que você use o nome de tipo String, Integer, Double, Date, ou Currency.Os valores são convertidos nesse tipo antes da comparação ser executada.Para obter mais informações, consulte Como: Validar contra um tipo de dados para controles de servidor ASP.NET.
A comparação a ser usada.Especifique um operador usando um dos seguintes valores definidos na enumeração ValidationCompareOperator:
Observação: Valores inválidos no outro controle são ignorados quando a validação é feita com um outro controle, e a validação passa.Para obter detalhes, consulte:Resultados de validação de casos especiais para controles do servidor ASP.NET.
Adicione um teste em seu código para verificar se há validade.Para obter detalhes, consulte:Como: Testar a validade por programação controles de servidor ASP.NET.
O exemplo de código a seguir mostra um controle TextBox validado usando um controle CompareValidator:
<table> <tr> <td> <asp:Textbox id="txtAge" ></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareFieldValidator1" ForeColor="Red" ControlToValidate="txtAge" ValueToCompare="0" Type="Integer" Operator="GreaterThanEqual" ErrorMessage="Please enter a whole number zero or greater."> </asp:CompareValidator > </td> </tr> </table>
<table> <tr> <td> <asp:Textbox id="txtAge" ></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareFieldValidator1" ForeColor="Red" ControlToValidate="txtAge" ValueToCompare="0" Type="Integer" Operator="GreaterThanEqual" ErrorMessage="Please enter a whole number zero or greater."> </asp:CompareValidator > </td> </tr> </table>
O exemplo de código a seguir mostra um CompareValidator que compara a entrada com relação ao valor de outro controle do usuário.A página permite aos usuários fazerem reservas em um hotel.O validador checa para que o usuário não insira uma data de partida anterior à data de chegada.(Em um aplicativo real, a data de partida seria necessária e validada como uma data também.)
<table> <tr> <td> Arrive<asp:Textbox id="txtArrivalDate" ></asp:Textbox> Depart<asp:Textbox id="txtDepartureDate" ></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareValidator1" ForeColor="Red" ControlToValidate="txtDepartureDate" ControlToCompare="txtArrivalDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="Departure date cannot be earlier than arrival date."> </asp:CompareValidator > </td> </tr> </table>
<table> <tr> <td> Arrive<asp:Textbox id="txtArrivalDate" ></asp:Textbox> Depart<asp:Textbox id="txtDepartureDate" ></asp:Textbox> </td> <td> <asp:CompareValidator id="CompareValidator1" ForeColor="Red" ControlToValidate="txtDepartureDate" ControlToCompare="txtArrivalDate" Type="Date" Operator="GreaterThanEqual" ErrorMessage="Departure date cannot be earlier than arrival date."> </asp:CompareValidator > </td> </tr> </table>
Consulte também
Conceitos
Tipos de validação para controles de servidor do ASP.NET