none
Validação - Campos nulos RRS feed

  • 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 ;)
    quarta-feira, 1 de julho de 2009 20:43

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 ^_^
    quarta-feira, 1 de julho de 2009 23:34
    Moderador

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”.
    quarta-feira, 1 de julho de 2009 21:20
  • Não é Web.

    É WindowsForms.

    Queria manter aquele código. Uns dizem-me que tenho de fazer um TryParse antes das textBox em questão, mas não consigo :x
    quarta-feira, 1 de julho de 2009 22:06
  • 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

    quarta-feira, 1 de julho de 2009 23:03
  • 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 ^_^
    quarta-feira, 1 de julho de 2009 23:34
    Moderador
  • Obrigado a todos.

    Funcionou.
    quarta-feira, 1 de julho de 2009 23:54