none
Validar data com a data atual RRS feed

  • Pergunta

  • Bom dia,

     

    Tenho uma pagina em ASP.Net com C#....e tem um campo data e preciso validar essa data com a data atual...E não pode ser maior que o de hoje...

    Já tentei de várias formas...

    Eu fiz em java script...mas  não está rolando..

    Segue o código:

     

    function ValidaData(source, arguments) {

    var DePeriodo1 = new Date()

    DePeriodo1 = document.getElementById('txtPeriodoDe1');

    if ( (DePeriodo1.value) > = getdate())

    arguments.IsValid = true;

    else

    arguments.IsValid = false;

    }

     

    Alguém pode me explicar o que tem de errado?

    Se alguém tiver alguma outra forma, aceito sugestões....Eu preferi de que fosse em código C# e criar um alerta...

     

    Fico no aguardo,

     

    Obrigada,

    Rita

    quarta-feira, 5 de dezembro de 2007 11:24

Respostas

  • Passe a data para a função:

     

    Code Block

    public void ValidaData(DateTime dt, Boolean arguments)

    {

    if ((Convert.ToDateTime(dt)) >=(Convert.ToDateTime(DateTime.Now)))

    {

    arguments = true;

    {

    arguments = false;

    }

    }

    }

     

    Abs,
    quarta-feira, 5 de dezembro de 2007 12:39
  • Diretamente em C#, no code-behind, você pode fazer assim,

    public bool ValidaData(DateTime DataFornecida)
    {
    if (DataFornecida >= DateTime.Now())
    {
    ClientScript.RegisterClientScriptBlock(ClientScript.GetType(), "ok", "<script type=\"text/javascript\" >alert('Data correta.');</script>");
    return true;
    }
    else
    {
    ClientScript.RegisterClientScriptBlock(ClientScript.GetType(), "erro", "<script type=\"text/javascript\" >alert('Data inválida.');</script>");
    return false;
    }
    }


    Não sei se é exatamente isto que você quer, mas acredito que dá para ajudar, não é?

    Jonatã.
    quarta-feira, 5 de dezembro de 2007 12:47

Todas as Respostas

  • Passe a data para a função:

     

    Code Block

    public void ValidaData(DateTime dt, Boolean arguments)

    {

    if ((Convert.ToDateTime(dt)) >=(Convert.ToDateTime(DateTime.Now)))

    {

    arguments = true;

    {

    arguments = false;

    }

    }

    }

     

    Abs,
    quarta-feira, 5 de dezembro de 2007 12:39
  • Diretamente em C#, no code-behind, você pode fazer assim,

    public bool ValidaData(DateTime DataFornecida)
    {
    if (DataFornecida >= DateTime.Now())
    {
    ClientScript.RegisterClientScriptBlock(ClientScript.GetType(), "ok", "<script type=\"text/javascript\" >alert('Data correta.');</script>");
    return true;
    }
    else
    {
    ClientScript.RegisterClientScriptBlock(ClientScript.GetType(), "erro", "<script type=\"text/javascript\" >alert('Data inválida.');</script>");
    return false;
    }
    }


    Não sei se é exatamente isto que você quer, mas acredito que dá para ajudar, não é?

    Jonatã.
    quarta-feira, 5 de dezembro de 2007 12:47
  • Bom dia pessoal,

     

    Primeiro quero agradecer a todos...

    Mas eu fiz de outro jeito e ficou bem legal...

    Vou passar a dica, caso se alguém precisar...

     

    Eu criei um compareValidator no HTML

    <asp:CompareValidator ID="cmpValidaData" ControlToValidate="txtData"

    Type="Date" Operator="GreaterThanEqual" ErrorMessage="Data maior ou igual que a data atual." runat="server">*</asp:CompareValidator>

     

    Aí depois no evento PageLoad, vc faz esse codigo abaixo

     

     

    protected void Page_Load(object sender, EventArgs e)

    {

    cmpValidaData.ValueToCompare = DateTime.Now.ToString("d");

    }

     

    Fácil né?

     

    Espero que seja útil para todos...

     

    Um abraço,

     

    Rita

    quinta-feira, 6 de dezembro de 2007 10:28