Rework date validation to use Ruby's inbuilt date parsing rather than regexps.