Em um projeto Flex + Asp.NET (WebOrb) que estou desenvolvendo aqui na empresa, precisei travar a seleção de datas retroativas, após procurar um pouco encontrei a solução através do blog FlexDev, mantido pelo Eberton Consolim, neste post.

Basta incluir a propriedade abaixo na declaração do DateChooser ou DateField.

disabledRanges =”{[ {rangeEnd: new Date()} ]}”

Caso deseje travar D-1 ou D+1 basta complementar o código.

D-1 -> disabledRanges =”{[ {rangeEnd: new Date(new Date().getTime() – 86400000)} ]}”
ou
D+1 -> disabledRanges =”{[ {rangeEnd: new Date(new Date().getTime() + 86400000)} ]}”

Ao final o seu código deve ficar assim:

<mx:DateField id=”txData” disabledRanges=”{[ {rangeEnd: new Date(new Date().getTime() + 86400000)} ]}”/>

About Author

You may also like

7 Response Comments

  • Diego Messias  20/10/2010 at 23:12

    Igor parabéns blog, porém, essa forma de fazer acaba tendo falhas, pois, seu o usuário alterar a data do relógio do SO ele consiguirá acessar a outras datas!!!

    Responder
    • Igor Musardo  20/10/2010 at 23:56

      Olá Diego, obrigado pelo feedback e principalmente pela constatação. realmente há uma brexa nesse modelo, então a melhor solução é trazer a data do servidor, seja com o .NET, seja com o Java ou PHP. 😀 Valeu a dica!

      Responder
  • Lucas Castro  18/03/2011 at 15:16

    Segue um exemplo para travar datas futuras.
    disabledRanges=”{[ {rangeStart: new Date(new Date().getTime()+ 86400000)} ]}”

    Responder
    • Igor Musardo  24/03/2011 at 07:16

      Show de bola sua dica Lucas, muito obrigado!

      Abraços,
      Igor Musardo

      Responder

Leave A Comment

Please enter your name. Please enter an valid email address. Please enter a message.

Time limit is exhausted. Please reload CAPTCHA.