There isn't early a "best practice" for this, it's custom coding scenario.
Myself, rather than doing validation on the start - end date I would hide items that are not within the range.
If you need help implementing this, please submit a premiere support appointment:
http://www.webassist.com/premier_request.php