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)} ]}”/>
7 Response Comments
Ótimo blog Igor,
Parabéns…
Ajudou!!
Obrigado
Beleza Eduardo!
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!!!
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!
Segue um exemplo para travar datas futuras.
disabledRanges=”{[ {rangeStart: new Date(new Date().getTime()+ 86400000)} ]}”
Show de bola sua dica Lucas, muito obrigado!
Abraços,
Igor Musardo