More difficult solution (but re-usable for future applications):Good idea. We already have TCalLite on CCR which certainly can be extended to provide some validation.
Implement a TCalendar descendant that allows users only to select a date in a given range.
Implement a TDateEdit descendant that uses this derived TCalendar instead of the normal TCalendar.
Optional: publish the component on Lazarus-CCR.