I guess Easily you can achieve this through Javascript My way is below
Firstly get todays Day like this
function validate_date(date_to_validate)
{
var today = new Date();
var dd = today.getDate();
var mm = today.getMonth()+1; //January is 0!
var vdate[]=date_to_validate.split('/');// Assuming Formated Date You will pass in mm/dd/yyyy
var yyyy = today.getFullYear();
if(dd<10) {
dd='0'+dd
}
if(mm<10) {
mm='0'+mm
}
today = mm+'/'+dd+'/'+yyyy;
if(vdate[2]>yyyy+90 ||vdate[2]<yyyy)
{
return false;
}else if(vdate[2]==yyyy && ( vdate[0]<mm ))
{
return false;
}else if(vdate[2]==yyyy && (vdate[1]<dd))
{
return false;
}
else
{
return true;
}
}
And this function return true for your min and max date condition else returns false...
I think Range validator Can Support string range ,integer range.... And you validating on server which will cost you extra request and response.... using client side validation you can do better