Usuário com melhor resposta
Validação - Campos nulos

Pergunta
-
Boas!
Estou aqui na minha ultima validação do meu trabalho (Uff, finalmente :P). O que eu quero é proibir o utilizador de tentar Adicionar novo atleta sem preencher os campos necessários.
Aqui deixo o código:
//Se algum campo não estiver preenchido: Erro! else if ((textBox1.Text == "") || (textBox2.Text == "") || (textBox3.Text == "") || (textBox4.Text == "") || (textBox5.Text == "") || (comboBox1.SelectedItem.ToString().Equals("Selecionar") || (textBox6.Text == "") || (textBox7.Text == ""))) { toolStripStatusLabel1.Text = ("Erro! Ainda existem campos por preencher."); }
O problema está nas textBox2, 3, 6 e 7, que não recebem valores do tipo string, ou seja, basta o utilizador não preencher uma dessas, que o programa falha e a validação não funcione.
Se alguém me puder ajudar, agradecia. (É a minha ultima validação e o trabalho fica concluído)
Cumprimentos ;)
Respostas
-
Ao inves de usar textbox.Text == "", esperimenta o metodo String.IsNullOrEmpty(textbox.Text).
Porque (textbox.Text == "") é diferente de (textbox.Text == null) e esse metodo testa os 2 casos ja.
Se não funciona de um jeito, tente de outro totalmente diferente ^_^- Marcado como Resposta Ricardo J. O. Vieira quarta-feira, 1 de julho de 2009 23:55
Todas as Respostas
-
Olá!Sua Aplicação é Web ?Vc naum pode validar com RequeredFiledvalidator ?Att,
Israel Gonçalves "Se não puder vencer pelo talento, vença pelo esforço." “Caso esta resposta tenha ajudado a solucionar sua dúvida, favor clicar em “Marcar como Resposta” para beneficiar outros membros da comunidade que estejam lendo este thread”. -
-
Olá
Para não complicar (e seguir a forma que voce está utilizando):
// para os campos que recebem valores INTEIROS
if (!Int32.TryParse(textbox1.Text, out valor))
{
// ERRO (observe o "!" no IF, se nao conseguiu fazer o parse entra aqui, ou seja, o tipo era incorreto)
// IRA ENTRAR AQUI CASO O USUARIO DIGITE UM VALOR NAO-NUMERICO OU DEIXE O CAMPO EM BRANCO
}
Se o campo recebe valores DECIMAIS, basta fazer "Double.TryParse....." ao invés de Int32)
-----------
OPA: Agora que fui reler melhor sua pergunta, me diga porque está dando erro? Qual linha? Nao entendi. Se o campo textbox NAO FOI PREENCHIDO , entao textbox.Text == "" TEM QUE FUNCIONAR, independente do que irá ser digitado nele (pois, repetindo, ele está vazio!)
[]s
- Sugerido como Resposta C. Augusto Proiete [MVP]Moderator quinta-feira, 2 de julho de 2009 00:21
-
Ao inves de usar textbox.Text == "", esperimenta o metodo String.IsNullOrEmpty(textbox.Text).
Porque (textbox.Text == "") é diferente de (textbox.Text == null) e esse metodo testa os 2 casos ja.
Se não funciona de um jeito, tente de outro totalmente diferente ^_^- Marcado como Resposta Ricardo J. O. Vieira quarta-feira, 1 de julho de 2009 23:55
-