Client Script to prevent user from selecting past date not working

Khalnayak
Tera Guru

Hi all,

 

I have a catalog client script to prevent users from selecting a date in the past. But it is not fully working.

 


It now stops me from selecting any date, and error appears. past or future date.

 

Below is my script on a onChange client script.

function onChange(control, oldValue, newValue, isLoading) {
   if (isLoading || newValue == '') {
      return;
   }

//current date 
	var currentDateObj = new Date(); 
	var currentDateStr = formatDate(currentDateObj, g_user_date_format); 
	var currentDateNum = getDateFromFormat(currentDateStr, g_user_date_format); 

	var startDateNum = getDateFromFormat(newValue, g_user_date_format); 

	if (startDateNum < currentDateNum) { 
		g_form.addErrorMessage("Date cannot be in the Past");
		g_form.clearValue("day_month_year_start_time");
		return false;
	}
   
}

 

please advise

1 ACCEPTED SOLUTION

Community Alums
Not applicable

Hi @Khalnayak ,

Please use my below working Scripts,just replace your variables.

onChange Catalog Client Script:-

1) Client Script for Future Date Validation:-

SandeepDutta_0-1677592607797.png

 

2) Past Date Validation:-

SandeepDutta_1-1677592607540.png

 

3) Common Client Callable Script Include:- 

SandeepDutta_2-1677592607532.png

 

4) Script Include Code;-

SandeepDutta_3-1677592607547.png

 

 

View solution in original post

6 REPLIES 6

Sagar Pagar
Tera Patron

Hi @Khalnayak,

I would suggests to use the Catalog client scripts to prevent users from selecting a date in the past.

No Code date validations through (Catalog) UI Policies 

 

Thanks,
Sagar Pagar

The world works with ServiceNow

Gopi Naik1
Kilo Sage

Hi @Khalnayak ,

 

Try by using below script in script include.

previousDate:function(){
var startDate=this.getParameter('sysparm_date');
var gdt=new GlideDateTime(startDate);
var gdt2=new GlideDateTime();
if(gdt.compareTo(gdt2)=='-1'){
return false;
}else{
return true;
}
}

If my solutions helps you to resolve the issue, Please accept solution and Hit "Helpful".

Thanks,
Gopi