Field validation: prevent future dates

Field validation: prevent future dates

Hi, 

I'm trying to find a way to put a validation on my date fields in a custom module so that users cannot enter a future date.   How can I accomplish this? 

Also, I created a custom "Event Status" field that I want to prevent from being set to "Closed" until several other fields are not empty.  I tried to do this in validations, but some of the fields that I want to use for criteria are multi-line, user, look-up, and multi-picklists.  Is there any way to use these types of fields as validation criteria?  

Thanks!