Visão geral dos controles de validação do ASP.Net

Os controles de validação do ASP .Net fornecem um mecanismo para verificar as entradas do usuário antes de enviá-las ao servidor. Isso impede o armazenamento de dados inescrupulosos, maliciosos e sem sentido no servidor / banco de dados. Essencialmente, esses controles de validação garantem que os dados preenchidos pelo usuário nos campos do formulário sejam genuínos e estejam alinhados com os requisitos.

Como eles funcionam?

Para entender o funcionamento dos controles de validação do ASP.Net, vamos dar uma olhada na classe que todos os controles herdam. Se você não estiver familiarizado com o conceito de herança, recomendamos que o entenda antes de prosseguir.

A classe BaseValidator

Todos os controles de validação no ASP.Net herdam as propriedades e métodos da classe BaseValidator. Ajuda na criação de um conjunto genérico de controles de validação. As propriedades e métodos importantes da classe BaseValidator são:

  • ControlToValidate - Indica o controle de entrada a ser validado. Deve ser um valor único em todo o formulário. Este atributo é obrigatório, pois é usado para associar o controle de entrada a um controle de validação.
  • Ativado - Ativa ou desativa o validador.
  • Texto - mantém a mensagem a ser exibida no caso de uma falha na validação.
  • ErrorMessage - O valor nesse atributo é exibido quando o controle ValidationSummary é usado ou quando a propriedade Text está ausente.
  • IsValid - Um atributo booleano que indica se o controle é válido ou não.
  • Validate () - este método revalida o controle e atualiza o IsValid

Tipos de controle de validação do ASP.Net

A seguir, estão os tipos de controles de validação do ASP.NET:

1. RequiredFieldValidator

Este é um controle de validação elementar. Quase todos os formulários possuem alguns campos obrigatórios para serem preenchidos pelo usuário antes de prosseguir. O Validador de campo obrigatório garante que esses campos não sejam deixados em branco.

Sintaxe

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
InitialValue="aPlaceholderValue">

Observe o atributo Valor inicial na sintaxe acima. Isso embora atue como um espaço reservado, além disso, a validação falhará se o valor do campo não for alterado do InitialValue ao perder o foco.

Nota - Não se preocupe muito com o atributo runat = "server " . É usado para indicar ao ASP.Net que o controle também está disponível no servidor. Disponibilizar o controle no lado do servidor ajuda a acessar o controle na lógica de code-behind.

2. RangeValidator

O controle RangeValidator simplesmente especifica o intervalo permitido dentro do qual o valor de entrada deve cair. Isso é mais útil para valores de entrada de números, como idade ou valores de entrada de data.

Sintaxe

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="Integer" MinimumValue=”0” MaximumValue=”100”>

Existem três propriedades adicionais desse controle

  • Tipo - especifica o tipo de dados no campo de entrada. O valor é convertido para esse tipo antes da validação. Uma exceção será lançada se o valor não puder ser convertido no tipo especificado. Os seguintes tipos de dados podem ser comparados no RangeValidator:
    1. Corda
    2. Inteiro
    3. Duplo
    4. Encontro
    5. Moeda
  • Valor Mínimo - Especifica o valor mínimo que o campo pode conter.
  • Valor Máximo - Especifica o valor máximo que o campo pode conter. Os valores mínimo e máximo incluem invalidações inclusivas.

3. RegularExpressionValidator

  • RegularExpressions, ou simplesmente Regex, são padrões que definem o formato do texto. Se o texto estiver no mesmo formato, Regex retornará true, caso contrário false. É recomendável ler sobre o Regex se você não estiver familiarizado com ele. Isso também lhe dará uma idéia sobre como os padrões Regex são formados e como decifrar um padrão Regex.
  • Portanto, um RegularExpressionValidator é um controle de validação muito versátil. Corresponde o texto de entrada ao padrão especificado na propriedade ValidationExpression.

Sintaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ValidationExpression=”aRegexPattern”>

Um exemplo de padrão Regex pode ser (az) (0-9). Isso indica que um texto deve começar com um alfabeto e seguir por um numeral.

4. CompareValidador

  • O controle CompareValidator compara o valor de um controle com um valor fixo ou um valor em outro controle.

Sintaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
Type="string" ControlToCompare=”ControlToValidateIdOfAnotherControl”
ValueToCompare=”aFixedValue” Operator=”Equal”>

Existem três novas propriedades neste validador:

  • ControlToCompare - mantém o ID ControlToValidate de outra forma de controle. O valor de ambos os campos do formulário é comparado.
  • ValueToCompare - Um valor fixo com o qual a comparação deve ser feita.
  • Operador - O tipo de comparação. Os valores permitidos neste atributo são:
    1. Igual
    2. Não igual
    3. Maior que
    4. GreaterThanEqual
    5. Menor que
    6. LessThanEqual
    7. DataTypeCheck

5. CustomValidator

  • O ASP.Net também permite a liberdade de escrever seu próprio validador. Isso facilita a tarefa de um desenvolvedor para validar o formulário no próprio cliente. Também permite colocar validações mais complexas. As validações específicas de negócios ou aplicativos podem ser gravadas usando validadores personalizados.
  • O código de validação personalizado é gravado em uma função na página code-behind e o nome da função é passado como um atributo para a classe CustomValidator. A validação personalizada pode ser feita no lado do cliente ou no lado do servidor.
  • A propriedade ClientValidationFunction especifica que a validação deve ser executada no lado do cliente. Esse código de validação deve ser escrito em alguma linguagem de script como JavaScript, VBScript, etc.
  • O manipulador de eventos ServerValidate é usado quando a validação precisa ser feita no lado do servidor. A rotina de validação do servidor é escrita em C #, VB .Net ou qualquer outro idioma .Net.

Sintaxe -

runat="server" ControlToValidate ="someUniqueControlId"
ErrorMessage="ErrorToDisplayOnValidationFailure"
ClientValidationFunction=”functionName”>

6. ValidationSummary

O controle ValidationSummary não executa nenhuma validação. Seu objetivo é exibir um resumo de todos os erros na página.

Sintaxe -

runat="server" DisplayMode=”BulletList” ShowSummary=”true”
HeaderText=”List of Errors” />

Conclusão - Controles de validação do ASP .Net

Este artigo aborda os conceitos básicos dos controles de validação no ASP .Net. Há muito mais para descobrir quando você começar a criar seu formulário da web. Para codificadores avançados, recomendamos a documentação do MSDN para uma compreensão completa do tópico.

Artigos recomendados

Este foi um guia para os controles de validação do ASP.Net. Aqui discutimos a introdução, tipos com a sintaxe do controle de validação do asp.net. Você também pode ler nossos outros artigos sugeridos para saber mais.

  1. Ciclo de vida da página ASP.NET
  2. O que é o ASP.NET?
  3. JSP vs ASP
  4. Perguntas da entrevista do Asp.Net MVC
  5. Funções de Regex em Python (Exemplo)