none
Validação de campos textbox RRS feed

  • Pergunta

  • Olá pessoal, sera que voces poderiam ma ajudar? Estou desenvolvendo um software para o meu tcc. O software se trata de um controle simples de estoque. Me deparei com o seguinte problema. Tenho alguns formularios que possuem muitos textbox, sendo que nenhum campo pode estar vazio, caso na hora de fazer a operação, se algum campo estiver vazio tem que dar um aviso e se for feita com If/else ficaria enorme. Tentei fazer com errorProvider mas nao entendi direito como funciona. Sera que alguem pode me dar uma luz de como fazer a validação desses campos? Obrigado...
    quarta-feira, 10 de julho de 2013 02:46

Todas as Respostas

  • Através da propriedade Controls do formulário, é possível você capturar todos os controles que estão contidos no mesmo, seja TextBox, ComboBox, RadioButton, enfim.
    Para isso que você está querendo, você deve percorrer a coleção de controles (ControlCollection) que a propriedade Controls retorna e verificar para cada controle, se o mesmo é um TextBox. Feito isso, você faz a sua validação.
    O código seria assim:

    Se ajudou, marque como útil! ;)

    quarta-feira, 10 de julho de 2013 13:05
  • Caso não apareça a imagem o código fica assim:

    foreach (Control controle in this.Controls)
    {
    	if (controle.GetType() == typeof(TextBox))
    	{
    		//Verifica se está vazio
    	}	
    }

    Valeu!

    quarta-feira, 10 de julho de 2013 13:38
  • Obrigado Leonardo, funcionou certinho, porem estou precisando de outra coisa.

    Tenho um formulario com 3 textbox onde estou fazendo os testes antes de passar pro meu projeto. Quando eu deixo todos os textbox vazios, ao invez de me retornar apenas uma mensagem, ele me retorna3 mensagens, cada uma referente a um textbox, se eu deixar 2 textbox vazios ele me retorna duas mensagens e assim por diante. Como poderia fazer para mesmo se deixar todos os campos vazios, que apareça apenas uma mensagem?. Obrigado...

    Abaixo vai o codigo que eu utilizo:

              foreach (Control controle in this.Controls)
                {
                    if(controle.GetType() == typeof(TextBox))
                    {
                        if (((TextBox)(controle)).Text.Equals(string.Empty))
                        {
                            MessageBox.Show("Favor preencher os campos vazios!");
                        }
                    }
                }

    quarta-feira, 10 de julho de 2013 20:13
  • Obrigado Leonardo, funcionou certinho, porem estou precisando de outra coisa.

    Tenho um formulario com 3 textbox onde estou fazendo os testes antes de passar pro meu projeto. Quando eu deixo todos os textbox vazios, ao invez de me retornar apenas uma mensagem, ele me retorna3 mensagens, cada uma referente a um textbox, se eu deixar 2 textbox vazios ele me retorna duas mensagens e assim por diante. Como poderia fazer para mesmo se deixar todos os campos vazios, que apareça apenas uma mensagem?. Obrigado...

    Abaixo vai o codigo que eu utilizo:

              foreach (Control controle in this.Controls)
                {
                    if(controle.GetType() == typeof(TextBox))
                    {
                        if (((TextBox)(controle)).Text.Equals(string.Empty))
                        {
                            MessageBox.Show("Favor preencher os campos vazios!");
                        }
                    }
                }

    quarta-feira, 10 de julho de 2013 20:29