Inquiridor
Validação de campos com Controls

Pergunta
-
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 retorna 3 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!");
}
}
}
Todas as Respostas
-
Olá,
para que apareça apenas uma vez a mensagem, basta fazer a modificação abaixo, colocando um "break" caso seja encontrado um TextBox vazio, sendo que abaixo está sendo reproduzido apenas o código do "if" modificado:
if (((TextBox)(controle)).Text.Equals(string.Empty)) { MessageBox.Show("Favor preencher os campos vazios!"); break; return; }
O "break" faz com que se iinterrompa a sequência no laço do "foreach" (pois não há mais necessidade prosseguir com a validação caso encontre um TextBox vazio) e o "return" encerrará a execução da rotina.
PS: todo o restante do seu código continua igual.
Abs
- Sugerido como Resposta Alexandre F. Malavasi Cardoso quinta-feira, 11 de julho de 2013 00:57
-
-