Você está aqui: ASP.NET ::: ASP.NET Validation Controls (Controles de Validação) ::: Miscelâneas

Como usar a propriedade EnableClientScript da classe BaseValidator para efetuar a validação somente no lado do servidor (server-side validation)

Quantidade de visualizações: 6554 vezes
Por padrão os controles de validação do ASP.NET fazem seu trabalho no lado do cliente (client-side), ou seja, no browser. Isso quer dizer que a página não é enviada durante o processo de validação. A validação do lado do servidor (server-side) ocorre somente quando o navegador não suporta JavaScript ou o usuário o desabilitou.

Porém, pode haver situações nas quais queremos que a validação seja feita somente no lado do servidor, talvez para executarmos algum código antes de validar os dados.

Veja abaixo um trecho de código no qual temos uma caixa de texto, um botão e um controle de validação <asp:RequiredFieldValidator>. Ao executar este exemplo você verá que a página é realmente enviada antes que a validação do campo ocorra.

Eis o código para a página Default.aspx:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

<%@ Page Language="C#" AutoEventWireup="true"  
CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
    <title>Estudos ASP.NET</title>
</head>
<body>

<form id="form1" runat="server">
  
  Usuário: 
  <asp:TextBox ID="txtUsuario" runat="server"></asp:TextBox>
  
  <asp:Button ID="Button1" runat="server" Text="Enviar!" 
      onclick="Button1_Click" />
  
  <br /><br />
  <asp:Label ID="lblMensagem" runat="server" Text="Mensagem de validação">
  </asp:Label>

  <asp:RequiredFieldValidator ID="RequiredFieldValidator1" 
    runat="server" 
    ControlToValidate="txtUsuario"
    EnableClientScript="False"
    Text="Campo de preenchimento obrigatório">
  </asp:RequiredFieldValidator>
  
</form>

</body>
</html>

Analise agora o código para o arquivo de code-behind Default.aspx.cs:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page {
  protected void Button1_Click(object sender, EventArgs e){
    if(Page.IsValid){ // os dados foram validados?
      lblMensagem.Text = "A página foi enviada com sucesso.";
    }
    else{
      lblMensagem.Text = "Houve um erro na página";
    }
  }
}

Execute o exemplo e experimente clicar no botão sem preencher a caixa de texto. A página será enviada ao servidor e uma mensagem "Houve um erro na página" será exibida, juntamente com o conteúdo da propriedade "Campo de preenchimento obrigatório" do controle <asp:RequiredFieldValidator>. Isso foi possível devido ao teste que fizemos na propriedade Page.IsValid. Esta propriedade nos permite verificar se todos os controles de validação da página conseguiram realizar seu trabalho com sucesso.

Link para compartilhar na Internet ou com seus amigos:

Veja mais Dicas e truques de ASP.NET

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: C
6º lugar: Delphi
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 30 usuários muito felizes estudando em nosso site.