none
FormCadastro + MySql - Validar campos NULL RRS feed

  • Pergunta

  • Olá a todos.

    Por passar muito e muito tempo no google pesquisando e não achando ou achando apenas códigos pela metade, resolvi fazer uma pergunta aqui na comunidade, pelo menos assim eu posso quebrar a cabeça por vez.

    Fiz um sistema em Windows Form em Visual Studio 2012 Ultimate C#.

    Sistema de cadastro

    Nome da tabela

    - username

    - email

    - password

    E no VS C#

    - txtUser

    - txtEmail

    - txtPassword

    O sistema de cadastro está tudo Ok, mas sem preencher nada das TextBox ele pode criar a conta tudo NULL, isso diz la no MySql vem tudo vazio, eu quero (se algum aqui me ajudar) fazer com que o botão Criar Conta (btnDoneRegister) fica em Visible = false (ele já está assim em propiedades) más apenas ficar em visible = true se os 3 campos de TextBox estiver mais de 1 palavra, ou estiver validas, preenchidas etc.

    Obrigado desde já.

    sábado, 6 de junho de 2015 03:19

Respostas

  • Ola,

    Vc devera utilizar o evento TextChanged dos txts e nele validar os campos, conforme abaixo:

    private void txtUser_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private void txtEmail_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private void txtPassword_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private bool ValidateAllFields()
    {
    if(ValidateField(txtUser) && ValidateField(txtEmail) && ValidateField(txtPassword))
    return true;
    else
    return false;

    }

    private bool ValidateField(TextBox field)
    {
    if(field.Text != String.Empty)
    return true;
    else
    return false;
    }


    Espero ter ajudado,

    Sergio
    http://www.imappmaker.com

    sábado, 6 de junho de 2015 06:24
  • Ah, é porque já existe um método na classe pai com este nome.

    Altere os dois últimos métodos como abaixo:

    private bool ValidateAllFields()
    {
    if(ValidarCampo(txtUser) && ValidarCampo(txtEmail) && ValidarCampo(txtPassword))
    return true;
    else
    return false;

    }

    private bool ValidarCampo(TextBox field)
    {
    if(field.Text != String.Empty)
    return true;
    else
    return false;
    }

    Isso deve eliminar o erro...

    Att.,

    Sergio
    http://www.imappmaker.com

    • Marcado como Resposta LukasCCB domingo, 7 de junho de 2015 07:57
    domingo, 7 de junho de 2015 04:23

Todas as Respostas

  • Ola,

    Vc devera utilizar o evento TextChanged dos txts e nele validar os campos, conforme abaixo:

    private void txtUser_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private void txtEmail_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private void txtPassword_TextChanged(object sender, EventArgs e) { this.btnDoneRegister.Visible = ValidateAllFields();
    }

    private bool ValidateAllFields()
    {
    if(ValidateField(txtUser) && ValidateField(txtEmail) && ValidateField(txtPassword))
    return true;
    else
    return false;

    }

    private bool ValidateField(TextBox field)
    {
    if(field.Text != String.Empty)
    return true;
    else
    return false;
    }


    Espero ter ajudado,

    Sergio
    http://www.imappmaker.com

    sábado, 6 de junho de 2015 06:24
  • Obrigado.

    Mas agora estou com o problema com isso, talvez seja por que eu uso Framework Theme?


    sábado, 6 de junho de 2015 21:42
  • Ah, é porque já existe um método na classe pai com este nome.

    Altere os dois últimos métodos como abaixo:

    private bool ValidateAllFields()
    {
    if(ValidarCampo(txtUser) && ValidarCampo(txtEmail) && ValidarCampo(txtPassword))
    return true;
    else
    return false;

    }

    private bool ValidarCampo(TextBox field)
    {
    if(field.Text != String.Empty)
    return true;
    else
    return false;
    }

    Isso deve eliminar o erro...

    Att.,

    Sergio
    http://www.imappmaker.com

    • Marcado como Resposta LukasCCB domingo, 7 de junho de 2015 07:57
    domingo, 7 de junho de 2015 04:23
  • Obrigado =)
    Tudo resolvido. Obrigado mesmo cara.
    • Editado LukasCCB domingo, 7 de junho de 2015 07:57 Resolvido
    domingo, 7 de junho de 2015 07:47
  • Nada! Estamos aí para isso!
    domingo, 7 de junho de 2015 20:04