none
Como faço para exibir uma mensagem de erro quando deixo um textBox em branco? RRS feed

  • Pergunta

  • Estou começando a estudar C# na faculdade e estou com uma duvida em um exercício:

    Tenho 4 campos de preenchimento obrigatório em um windowsform... Nome, Endereço, Bairro e Cidade. Mas eu não consigo fazer com que o preenchimento seja obrigatório.

    Se alguém puder me ajudar...
    • Editado Renan Souza quarta-feira, 12 de maio de 2010 01:13
    quarta-feira, 12 de maio de 2010 00:45

Respostas

  • É pq vc criou um projeto do tipo desktop, podes usar assim:

     

        private void button1_Click(object sender, EventArgs e)
        {
          if (textBox1.Text.Equals(""))
          {
            System.Windows.Forms.MessageBox.Show("O campo TextBox1 está vazio, por favor digite algo");
          }
          else
          {
    
          }
        }


    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Renan Souza quarta-feira, 12 de maio de 2010 02:33
    quarta-feira, 12 de maio de 2010 01:49
  • Renan, da dois cliques no botão do outro grupobox e poe o codigo q te passei, aqui funcionou perfeitamente

    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Renan Souza quarta-feira, 12 de maio de 2010 02:33
    quarta-feira, 12 de maio de 2010 02:28

Todas as Respostas

  • Fala meu camarada, para isso você tem os nossos amigos Validators =]

     

    <asp:RequiredFieldValidator ID="nomeDoObjetoDeValidacao" runat="server" ErrorMessage="Mensagem de Erro" ControlToValidate="nomeDoCampoDoFormulario" ToolTip="Por Favor, preencha o campo Login!"></asp:RequiredFieldValidator>

    Na toolbox do Visual Studio selecione a opção que te atende, que no caso é a RequiredFieldValidator, que espera que o campo ao qual você vinculou o objeto nao seja empty (vazio)

    Abs!!!

     

    quarta-feira, 12 de maio de 2010 00:59
  • Valeu pela ajuda mas ainda não deu certo...

    não achei o RequiredFielValidator no toolbox... :/

    quarta-feira, 12 de maio de 2010 01:16
  • Brother na toolbox existe a opção validation, ta dentro dessa opcao. Da uma vasculhada aí q vc acha, to te respondendo pelo celular se não Tê mandava um print. Abs.
    quarta-feira, 12 de maio de 2010 01:24
  • Não achei também, revirei a toolbox aqui mas não achei nada... nem com um nome parecido

    eu digitei errado na explicação da pergunta, eu estou fazendo um windowsform...

     

    Espero que vcs do fórum não se irritem comigo, pois faz muito pouco tempo que estou aprendendo C# kkkkkkkk...

    mas se vcs explicarem eu entendo... kkkkkk

    quarta-feira, 12 de maio de 2010 01:44
  • É pq vc criou um projeto do tipo desktop, podes usar assim:

     

        private void button1_Click(object sender, EventArgs e)
        {
          if (textBox1.Text.Equals(""))
          {
            System.Windows.Forms.MessageBox.Show("O campo TextBox1 está vazio, por favor digite algo");
          }
          else
          {
    
          }
        }


    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Renan Souza quarta-feira, 12 de maio de 2010 02:33
    quarta-feira, 12 de maio de 2010 01:49
  • Mas sem um botão eu não consigo fazer?

    Usando TAB por exemplo, pra ir para o próximo textBox?

    quarta-feira, 12 de maio de 2010 01:51
  • Esses campos estão dentro de um outro groupBox.

    E eu tenho um botão para carregar os dados desses campos, e depois salvar em um TXT e um XML... mas a minha única dúvida agora é como aplicar isso em um button de outro groupBox?

     

    eu fiz isso que vc me explicou e deu certo, mas sem groupBox nenhum no form...

    quarta-feira, 12 de maio de 2010 02:09
  • Renan, no TextBox... procure o evento Leave...

    Adicione esse código dentro do Evento Leave

        private void textBox1_Leave(object sender, EventArgs e)
        {
          if (string.IsNullOrEmpty(this.textBox1.Text))
          {
            MessageBox.Show("Digite um texto!");
          }
        }


    Henrique Fávaro Tâmbalo - Se a resposta ajudou, marque como resposta!
    quarta-feira, 12 de maio de 2010 02:12
  • Fiz como vc me passou mas não deu certo também :/
    quarta-feira, 12 de maio de 2010 02:23
  • Renan nao deu certo pq vc provavelmente nao criou o handler do evento.
    • Sugerido como Resposta Thiago MDTech quarta-feira, 12 de maio de 2010 02:26
    quarta-feira, 12 de maio de 2010 02:26
  • Renan, da dois cliques no botão do outro grupobox e poe o codigo q te passei, aqui funcionou perfeitamente

    msn: poseidonfba@hotmail.com
    • Marcado como Resposta Renan Souza quarta-feira, 12 de maio de 2010 02:33
    quarta-feira, 12 de maio de 2010 02:28
  • Poseidon... isso que eu tinha feito quando vc me passou o código.

    O problema foi o seguinte: MUITA falta de atenção minha mesmo,

    faltou } no final do código... mas agora está perfeito...

     

    valeu ae parceiro

    quarta-feira, 12 de maio de 2010 02:32
  • Ah hehe, eh assim mesmo, tranquilo, abçs

    msn: poseidonfba@hotmail.com
    quarta-feira, 12 de maio de 2010 02:34
  • if(textbox.text == ""){

    mensagem de erro!

    }

    else{

    tudo bem!

    }

    quarta-feira, 12 de maio de 2010 09:41
  • Tenho uma ideia que parece comoda para o utilizador que utilizando o componente Errorprovider.

    Ele deixa uma bola vermelha em depois do componente que tem erro. ao passar o mouse seobre a bola

    pode-se ver a mensagem de erro. Veja o codigo

     

     private
     void
     button1_Click(object
     sender, EventArgs e)
    {
    if (IsDataValid())
    {
    continue com a execucao
    }
    }
    private bool IsDataValid()
    {
    bool resposta = true;
    if(
    textBox1.Text == "")
    {
    Errorprovider1.SetError(
    textBox1, "a mensagem de erro");
    resposta = false;

    textBox1.Focus()
     }

    if( textBox2.Text == "")
    {
    Errorprovider1.SetError(
    textBox2, "a mensagem de erro");
    resposta = false;

    textBox2.Focus()
     }

    if(ComboBox1 .Text == "")
    {
    Errorprovider1.SetError(
    ComboBox1 , "a mensagem de erro");
    resposta = false;

    ComboBox1 .Focus()
     }
    //etc...
    return resposta;
    }
    sábado, 15 de maio de 2010 12:54
  • Eu particularmente faço:

    if(Equals(textbox.text.Trim(), ""){

    mensagem de erro!

    }

    else{

    tudo bem!

    }

     

    O método Trim() deleta espaços em branco no início e no fim da string... o que garante que o textbox realmente está vazio, o que não é verdade quando existe um espaço em branco.


    Se a resposta foi útil, por favor marque como útil. Leia a bíblia.
    domingo, 16 de maio de 2010 00:13