Como adicionar mensagens de erro via C# no ValidationSummary do ASP.NET

Lista de ErrosOlá a todos, tudo bom?

Neste post demonstro duas formas para adicionar mensagens de erro no ValidationSummary do ASP.NET via C# (codebehind).

1ª Forma

Nesta forma basta adicionar o ValidationSummary na página onde se deseja apresentar as mensagens de erro e também um CustomValidator, que será utilizado como “coringa” para as mensagens de erro que irão requerer informação junto ao usuário do sistema.

Repare que para o CustomValidator, a propriedade Display foi definida como “None” e a propriedade EnableClientScript tanto do ValidationSummary quanto do CustomValidator foram definidas como “false“. Veja o techo de código abaixo:

...
<asp:ValidationSummary ID="vlsMensagens" runat="server" EnableClientScript="False" ForeColor="Red" />
<asp:CustomValidator ID="cstValidator" runat="server" Display="None" EnableClientScript="False" ErrorMessage="CustomValidator"></asp:CustomValidator>
...

Assim, no código em C# basta realizar a seguinte chamada para adicionar a mensagem de erro ao ValidationSummary:

...
cstValidator.ErrorMessage = txtMensagem.Text;
cstValidator.IsValid = false;
...

2ª Forma (acho essa melhor)

Na segunda situação, criei uma classe chamada MsgSummary que herda de IValidator, dessa forma, podendo acrescentar mensagens de erro no ValidationSummary de uma determinada página sem a necessidade de acrescentar o CustomValidator junto a ele. Veja como ficou:

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

/// <summary>
/// Classe utilizada para acrescentar mensagens em ValidationSummary
/// </summary>
public class MsgSummary : IValidator
{
   string _mensagem;

   public static void AddMsg(string mensagem, Page pagina)
   {
      MsgSummary msg = new MsgSummary(mensagem);
      pagina.Validators.Add(msg);
   }

   private MsgSummary(string mensagem)
   {
      _mensagem = mensagem;
   }

   public string ErrorMessage
   {
      get { return _mensagem; }
      set { }
   }

   public bool IsValid
   {
      get { return false; }
      set { }
   }

   public void Validate()
   { }
}

Agora, veja um exemplo de como apresentar a mensagem desejada no ValidationSummary de uma determinada página:

...
   double nro;
   try
   {
      nro = double.Parse("Vai dar erro na conversão");
   }
   catch(Exception ex)
   {
      MsgSummary.AddMsg(string.Format("Erro provocado: {0}",ex.Message), this);
   }
...

Espero que este post ajude a outras pessoas.

Um grande abraço,
Eduardo Henrique Rizo

Anúncios

Coordenador de Internet da Universidade do Oeste Paulista (Unoeste) e professor universitário de disciplinas relacionadas ao desenvolvimento de sistemas para Web, gerenciamento de servidores, serviços e redes.

Marcado com: , , ,
Publicado em ASP.NET, Desenvolvimento Web
Um comentário em “Como adicionar mensagens de erro via C# no ValidationSummary do ASP.NET
  1. Leonardo disse:

    Cara eu precisava disso!
    Muito obrigado!

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Erro: o Twitter não respondeu. Por favor, aguarde alguns minutos e atualize esta página.

Sorocaba e Região
Prestadora de serviços RIZZO GS - Sorocaba/SP

Serviços de limpeza, conservação, recepção, copa, portaria, vigia, zeladoria, jardim, elétrica, hidráulica, pintura, etc.

Contato: (15) 3357-4263 / (15) 3357-4502 - contato@rizzogs.com.br

Website: http://www.rizzogs.com.br

%d blogueiros gostam disto: