none
Comparar duas TextBox com Datas não pode atingir 180 dias ou seja 6 meses e exibir a mensagem RRS feed

  • Pergunta

  • Tenho dois text um data inicio e outro datafim
    Como faço para permitir que a data inicio o usuario so digite Data >= Hoje?
    e que a Data final seja => Data inicial?

    Não pode atingir mais de 180 dias (6 meses), em caso aconteça tem que exibir a mensagem alertando.

    segunda-feira, 19 de agosto de 2019 14:56

Todas as Respostas

  • Boa tarde, tudo bem?

    Você pode passar o conteúdo da TextBox para um objeto DateTime e, a partir deste objeto, fazer as validações que deseja.

    Para fazer comparações entre objetos DateTime, você pode utilizar o método DateTime.Compare(), que recebe dois objetos DateTime e retorna um int informando se DateTime1 é maior, igual ou menor que DateTime2. Por exemplo:

    int resultadoCompare = DateTime.Compare(DateTime1, DateTime2);
    
    if(resultadoCompare < 0)
        // A primeira DateTime está mais recente que a segunda
    if(resultadoCompare == 0)
        // A duas DateTime apontam para a mesma data e hora
    if(resultadoCompare > 0)
        // A segunda DateTime está mais recente que a primeira
    
     

    Caso esteja em dúvida sobre como passar o conteúdo da TextBox para DateTime, você pode utilizar o método DateTime.Parse(), que tenta fazer a conversão de uma string para DateTime.

    Espero que ajude. Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    segunda-feira, 19 de agosto de 2019 17:04
    Moderador
  • Igor, bom dia, vou lhe mostrar o código como eu fiz:

    if (txtDataIni.Text > 6 && txtDataFin.Text > 6)
                {             //validando datas - parte 2
                    try
                    {
                        var dt1 = Convert.ToDateTime(txtDataIni.Text);
                        var dt2 = Convert.ToDateTime(txtDataFin.Text);
                    }
                    catch
                    {
                        //ShowMessage("Informe uma data válida!");
                        sScript = "<script language=javascript>";
                        sScript += "    alert('Informe uma data válida!');";
                        sScript += "</script>";
                        return;
                    }

                    CarregaAcompanhamentoGR(ddlFornecedor.SelectedValue, ddlContrato.SelectedValue, ddlPesqKit.SelectedValue, ddlPesqItem.SelectedValue);
                }
                else
                { ShowMessage1("O INTERVALO MÁXIMO É 6 MESES"); return; }

    Fiz algo para fazer comparação de duas datas inicio e fim fazendo as comparações e exibir uma mensagem e aproveitando fiz um alert informando uma data válida

    quinta-feira, 22 de agosto de 2019 13:14