Jacky schrieb:
I'm thinking if I can do this:

rules:{
    planFromDate: {dateRange:'plan'}, planToDate: {dateRange:'plan'}
actualFromDate: {dateRange:'actual'}, actualToDate: {dateRange:'actual'}
}
groups: {
    dateRange: "planFromDate planToDate actualFromDate actualToDate"
}

$.validator.addMethod('dateRange',function(value,elem,param){
    var f = $(elem).parents("form:eq(0)")[0];
    from = f[param+'FromDate'].value;
    to = f[param+'ToDate'].value;
    if(!from || !to ||
/Invalid|NaN/.test(new Date(from)) || /Invalid|NaN/.test(new Date(to)))
                        return true;
    return from && to && new Date(from) < new Date(to);
},'wrong date range');
Give this a try:

rules:{
   planFromDate: {dateRange:'plan'}, planToDate: {dateRange:'plan'}
   actualFromDate: {dateRange:'actual'}, actualToDate: {dateRange:'actual'}
}
groups: {
   plan: "planFromDate planToDate",
   actual: "actualFromDate actualToDate"
}

$.validator.addMethod('dateRange',function(value,elem,param){
   var f = elem.form;
   var from = f[param+'FromDate'].value;
   var to = f[param+'ToDate'].value;
   if(!from || !to ||
/Invalid|NaN/.test(new Date(from)) || /Invalid|NaN/.test(new Date(to)))
                       return true;
   return from && to && new Date(from) < new Date(to);
},'wrong date range');

Jörn

Reply via email to