It can be done with JavaScript but as not everyone has JavaScript you'll still need to check for it on the server.
To get the date so many years in the future less your one day you could use:
Code:
newDate = function(years) {
var dd, mm, dt;
dt = new Date();
dt.setFullYear(dt.getFullYear()+years);
dt.setDate(dt.getDate()-1);
dd = dt.getDate();
if (dd < 10) dd = '0'+dd;
mm = dt.getMonth()+1;
if (mm < 10) mm = '0'+mm;
return dd+'/'+mm+'/'+dt.getFullYear();
}