none
Validar data com o componente DATE TIME PICKER RRS feed

  • Pergunta

  • Olá boa noite...

    Tenho um componente datetimepicker e quero que ele valide por exemplo. Na hora que eu for salvar ele não deixa eu salvar com a data de hoje e sim so salve se o cliente tem mais de 10 anos

    quarta-feira, 15 de outubro de 2014 23:56

Respostas

  • Desculpe não entendi muito bem sua duvida, a parte da data é fácil fazer:

    if (Convert.ToDateTime(dtPicker.Value).ToShortDateString() == DateTime.Now.ToShortDateString())
                {
                    MessageBox.Show("Ops não pode gravar com data de hoje");
                }


    • Sugerido como Resposta Mr. GMSOFT quinta-feira, 16 de outubro de 2014 13:24
    • Marcado como Resposta Diézare quinta-feira, 16 de outubro de 2014 14:31
    quinta-feira, 16 de outubro de 2014 00:04
  • Olá Diézare,

    Se eu entendi bem a sua pergunta, você precisa realizar algumas validações com base no valor que é informado pelo usuário no componente DateTimePicker.

    Segue uma forma de realizar essa validação.

    private void dtpDataNascimento_Leave(object sender, EventArgs e)
            {
                if (ValidaData(this.dtpDataNascimento.Text) == false)
                {
                    dtpDataNascimento.Focus();
                    dtpDataNascimento.ResetText();
                }
            }
    
            private bool ValidaData(string data)
            {
                bool retorno = true;
    
                string dataValidacao = DateTime.Now.AddYears(-10).ToShortDateString();
                DateTime dataValida = Convert.ToDateTime(DateTime.Now.AddYears(-10).ToShortDateString());
    
                if (Convert.ToDateTime(dtpDataNascimento.Text) >= Convert.ToDateTime(dataValidacao))
                {
                    MessageBox.Show("Idade do cliente tem que ser superior a 10 anos.");
                    retorno = false;
                }
                else if (Convert.ToDateTime(dtpDataNascimento.Text) >= Convert.ToDateTime(dataValidacao))
                {
                    MessageBox.Show("Data informada tem que ser superior a 10 anos.");
                    retorno = false;
                }
    
                return retorno;
            }
    Qualquer dúvida estou à disposição.


    Klayton Gomes MCP /MCTS/ MCPD Analist System / Software Developer

    • Marcado como Resposta Diézare sexta-feira, 17 de outubro de 2014 20:22
    quinta-feira, 16 de outubro de 2014 14:36

Todas as Respostas

  • Desculpe não entendi muito bem sua duvida, a parte da data é fácil fazer:

    if (Convert.ToDateTime(dtPicker.Value).ToShortDateString() == DateTime.Now.ToShortDateString())
                {
                    MessageBox.Show("Ops não pode gravar com data de hoje");
                }


    • Sugerido como Resposta Mr. GMSOFT quinta-feira, 16 de outubro de 2014 13:24
    • Marcado como Resposta Diézare quinta-feira, 16 de outubro de 2014 14:31
    quinta-feira, 16 de outubro de 2014 00:04
  • Olá Diézare,

    Se eu entendi bem a sua pergunta, você precisa realizar algumas validações com base no valor que é informado pelo usuário no componente DateTimePicker.

    Segue uma forma de realizar essa validação.

    private void dtpDataNascimento_Leave(object sender, EventArgs e)
            {
                if (ValidaData(this.dtpDataNascimento.Text) == false)
                {
                    dtpDataNascimento.Focus();
                    dtpDataNascimento.ResetText();
                }
            }
    
            private bool ValidaData(string data)
            {
                bool retorno = true;
    
                string dataValidacao = DateTime.Now.AddYears(-10).ToShortDateString();
                DateTime dataValida = Convert.ToDateTime(DateTime.Now.AddYears(-10).ToShortDateString());
    
                if (Convert.ToDateTime(dtpDataNascimento.Text) >= Convert.ToDateTime(dataValidacao))
                {
                    MessageBox.Show("Idade do cliente tem que ser superior a 10 anos.");
                    retorno = false;
                }
                else if (Convert.ToDateTime(dtpDataNascimento.Text) >= Convert.ToDateTime(dataValidacao))
                {
                    MessageBox.Show("Data informada tem que ser superior a 10 anos.");
                    retorno = false;
                }
    
                return retorno;
            }
    Qualquer dúvida estou à disposição.


    Klayton Gomes MCP /MCTS/ MCPD Analist System / Software Developer

    • Marcado como Resposta Diézare sexta-feira, 17 de outubro de 2014 20:22
    quinta-feira, 16 de outubro de 2014 14:36