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:
- Corda
- Inteiro
- Duplo
- Encontro
- 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:
- Igual
- Não igual
- Maior que
- GreaterThanEqual
- Menor que
- LessThanEqual
- 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.
- Ciclo de vida da página ASP.NET
- O que é o ASP.NET?
- JSP vs ASP
- Perguntas da entrevista do Asp.Net MVC
- Funções de Regex em Python (Exemplo)