- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-16-2019 12:29 PM
we have a end date field , we need to validate the date and alert if the provided end date exceed 1 year from today
I am using this client script and working fine in another catalog item , the only difference is in the working catalog item we are having a start date field and end date field ,, and we are calculating the difference and based on difference end date is greater that 1 year it will alert ,,
How to set start date to current date in on change client script
function onChange(control, oldValue, newValue, isLoading) {
var strtDate = g_form.getValue('csv_contractor_start_date');
if (isLoading || newValue == '' || strtDate == '') {
return;
}
var ga = new GlideAjax('getYearAgoDate');
ga.addParam('sysparm_name','validateDateDurationOneYear');
ga.addParam('sysparm_startdate', strtDate);
ga.addParam('sysparm_enddate', newValue);
ga.getXMLWait();
var answer = ga.getAnswer();
if (answer == true || answer == 'true') {
g_form.hideFieldMsg('contractor_end_date',true);
}
else {
g_form.clearValue('contractor_end_date');
g_form.showFieldMsg('contractor_end_date','Maximum account duration is one year from the processing start date', 'error',true);
}
}
Solved! Go to Solution.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2019 11:29 AM
Hi,
There is a mistake in yoru code. Try this and let me know.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '' || strtDate == '') {
return;
}
var today_date = new Date();
var today_date_str = formatDate(today_date, g_user_date_format);
var strtDate = today_date_str;
var ga = new GlideAjax('getYearAgoDate');
ga.addParam('sysparm_name','validateDateDurationOneYear');
ga.addParam('sysparm_startdate', strtDate);
ga.addParam('sysparm_enddate', newValue);
ga.getXMLWait();
var answer = ga.getAnswer();
g_form.addInfoMessage("Answer is "+answer);
if (answer == true || answer == 'true') {
g_form.hideFieldMsg('contractor_end_date',true);
}
else {
g_form.clearValue('contractor_end_date');
g_form.showFieldMsg('contractor_end_date','Maximum account duration is one year from the processing start date', 'error',true);
}
}
Mark the comment as a correct answer and also helpful once worked.

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-16-2019 12:42 PM
Hi,
Try the below code.
var today_date = new Date();
var today_date_str = formatDate(today_date, g_user_date_format);
Mark the comment as a correct answer and helpful once worked.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2019 09:35 AM
I tried this but its not working
function onChange(control, oldValue, newValue, isLoading) {
var today_date = new Date();
var today_date_str = formatDate(today_date, g_user_date_format);
var strtDate = today_date ;
if (isLoading || newValue == '' || strtDate == '') {
return;
}
var today_date = new Date();
var today_date_str = formatDate(today_date, g_user_date_format);
var ga = new GlideAjax('getYearAgoDate');
ga.addParam('sysparm_name','validateDateDurationOneYear');
ga.addParam('sysparm_startdate', strtDate);
ga.addParam('sysparm_enddate', newValue);
ga.getXMLWait();
var answer = ga.getAnswer();
if (answer == true || answer == 'true') {
g_form.hideFieldMsg('contractor_end_date',true);
}
else {
g_form.clearValue('contractor_end_date');
g_form.showFieldMsg('contractor_end_date','Maximum account duration is one year from the processing start date', 'error',true);
}
}

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
04-24-2019 11:29 AM
Hi,
There is a mistake in yoru code. Try this and let me know.
function onChange(control, oldValue, newValue, isLoading) {
if (isLoading || newValue == '' || strtDate == '') {
return;
}
var today_date = new Date();
var today_date_str = formatDate(today_date, g_user_date_format);
var strtDate = today_date_str;
var ga = new GlideAjax('getYearAgoDate');
ga.addParam('sysparm_name','validateDateDurationOneYear');
ga.addParam('sysparm_startdate', strtDate);
ga.addParam('sysparm_enddate', newValue);
ga.getXMLWait();
var answer = ga.getAnswer();
g_form.addInfoMessage("Answer is "+answer);
if (answer == true || answer == 'true') {
g_form.hideFieldMsg('contractor_end_date',true);
}
else {
g_form.clearValue('contractor_end_date');
g_form.showFieldMsg('contractor_end_date','Maximum account duration is one year from the processing start date', 'error',true);
}
}
Mark the comment as a correct answer and also helpful once worked.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
01-27-2022 09:10 PM
Very Helpful.