Originally posted by dale_burrell If I set the date as 29 Feb 2002 it ends up as 1 March 2002 - so no validation there.
Not being a JS expert, that sounds like it automatically validated the date and pushed it on one if it was invalid. If you want to overide that you'll have to write your own function. This can vary in complexity. A friend of mine wrote a brilliant function in VBS to do this, but it's pretty complex and completely infallible ... it can calculate the Roman calendar all the back to 1 BC and as forward as far as you like. What you need could probably be simpler though. This looks like a good one: