Allow user to select date if is more than 15minutes

Zuri
Tera Expert

I want to allow user to select date and time if is more than 15 minutes from current date and time. Below onChange client script I am not able to select previous date but I am able to select anytime after current time. I want to allow only to select when time is 15 minutes or more from current time.

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

//Type appropriate comment here, and begin script below

var date = new Date();
var sd = new Date(getDateFromFormat(g_form.getValue('date'), g_user_date_time_format));

if (sd < date) {

g_form.clearValue('date);
g_form.showFieldMsg('date', "Start date must be in the future.", 'error');
jslog('txt');
}


}

1 ACCEPTED SOLUTION

Is working but after I submit a form with correct time and go back and change time to less than 15 minutes is updating the form without any error

View solution in original post

28 REPLIES 28

Client script

 

find_real_file.png

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

//Type appropriate comment here, and begin script below
var ga = new GlideAjax('dateValidation');
ga.addParam('sysparm_name', 'getDate');
ga.addParam('sysparm_date', newValue);
ga.getXML(getData);

function getData(response) {
var answer = response.responseXML.documentElement.getAttribute("answer");
if (answer == 'false') {
g_form.clearValue('start_date');
g_form.showFieldMsg('start_date', "Entered date should be in the future", 'error');
jslog('txt');
}
}

}

Script include

find_real_file.png

var dateValidation = Class.create();
dateValidation.prototype = Object.extendsObject(AbstractAjaxProcessor, {

getDate: function() {
var date = this.getParameter('sysparm_date');

var currentDate = new GlideDateTime();
var currDate = currDate.getDisplayValue();
currDate.addSeconds(900);
gs.info('currentDate' + currDate);
gs.info('date' + date);
if (date < currentDate) {
return false;

} else return true;

},

type: 'dateValidation'
});

Please see below, instead of letting user selecting after 15 minutes it allow selecting after couple of hours, if you change highlight to 16 going down you will be getting an error

find_real_file.png