Partilhar via


Validação do lado do cliente para controles do ASP.NET Server

Se o usuário estiver trabalhando com um navegador que ofereça suporte a HTML dinâmico (DHTML), os controles de validação ASP.NET podem realizar validação usando script de cliente.Porque os controles podem fornecem feedback imediato sem um processamento para o servidor, a experiência do usuário na página é aprimorada.

Na maioria das circunstâncias, não é necessário que você faça quaisquer alterações à sua página ou aos controles de validação para usar a validação do lado do cliente.Os controles automaticamente detectam se o navegador suporta DHTML e executam sua verificação de acordo.Validação do cliente usa o mesmo mecanismo de exibição de erro como validação do lado do servidor.

Observação de segurança:

A validação é realizada no servidor mesmo se ela já foi executada no cliente.Isso permite que você determine o status de validação no código do servidor e forneça segurança contra usuários que ignorem a validação do cliente.

Diferenças na validação do lado do cliente

Se a validação é executada no cliente, os controles de validação incluem alguns recursos adicionais:

  • Se você estiver resumindo erro de validação mensagens, você pode exibi-los em um caixa de mensagem que aparece quando o usuário envia a página.Para obter detalhes, consulte:Como: Controle validação erro mensagem Display for ASP.NET servidor Controls.

  • O modelo de objeto para controles de validação é um pouco diferente no cliente.Consulte Modelo de Objeto de validação do cliente posteriormente neste tópico.

Há algumas diferenças mínimas associadas à validação do cliente:

  • Se validação do cliente estiver ativada, a página inclui referências a bibliotecas de script que são usadas para executar a validação do lado do cliente.

  • Quando você usa um controle RegularExpressionValidator, as expressões podem ser marcadas no cliente se uma linguagem ECMAScript-compatível (como Microsoft JScript) está disponível.Expressões regulares do lado do cliente diferem nos pequenos detalhes a partir da verificação de expressão regular feita no servidor usando a classe Regex.

  • A página inclui um método do lado do cliente para interceptar e manipular o evento Click antes da página ser enviada.

Modelo de Objeto de validação do cliente

Controles de validação apresentam quase o mesmo modelo de objeto no cliente que no servidor.Por exemplo, você pode testar a validação lendo uma propriedade IsValid do controle de validação da mesma maneira no cliente e o servidor.

No entanto, existem diferenças nas informações de validação expostas no nível da página.No servidor, a página suporta propriedades; no cliente, ela contém variáveis globais.A tabela a seguir compara as informações expostas na página.

Variável de página de cliente

Propriedade página do servidor

Page_IsValid

IsValid

Page_Validators (matriz)   Contém referências a todos os controles de validação na página.

Validators (coleção)   Contém referências a todos os controles de validação.

Page_ValidationActive   Um valor booleano que indica se a validação deve ocorrer.Defina esta variável para false para desativar a validação do lado do cliente por meio de programação.

(não há equivalente)

Observação:

Todas as informações relacionados à página de validação devem ser consideradas somente leitura.

Postar páginas com erros de validação do lado do cliente

Em alguns casos, talvez você prefira não usar a validação do lado do cliente e usar somente validação do lado do servidor, mesmo se validação do cliente estiver disponível.Por exemplo, da validação do lado do cliente pode não ser possível se a validação requerir informações ou recursos que estão disponíveis somente no servidor, como acesso a um banco de dados.

Por padrão, quando da validação do cliente está sendo executada, o usuário não pode publicar a página para o servidor se houver erros na página.No entanto, talvez seja necessário permitir que o usuário poste mesmo com erros.Por exemplo, você pode ter um botão de cancelamento ou um botão de navegação em uma página, e você deseja que o botão para envie a página mesmo que alguns controles falhem a validação.Para obter mais informações, consulte Como: desabilitar validação para controles de servidor ASP.NET.

Consulte também

Conceitos

Tipos de validação para controles de servidor do ASP.NET

Outros recursos

Controles de Validação do ASP.NET