Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

Planned start date cannot be earlier than current date

Suresh36
Tera Expert

I have one requirement, Planned start date cannot be earlier than current date on release record.

I have written the below Onchange client script code, but i am getting the below script error. Please help me on this.

 

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

var devRelease = g_form.getDisplayValue('x_thntm_ntrs_devop_devops_release');
//alert('Dev Release :');
if (devRelease) {

var currentDate = new Date();
var startDate = new Date(g_form.getValue('start_date'));

if (startDate.valueOf() < currentDate.valueOf()) {
g_form.addErrorMessage('Error Message Planned start date cannot be earlier than current date');
g_form.setValue('start_date', oldValue);
return false;

}
}

 

Please find the below error message.

Suresh36_0-1682434775954.png

 

 

 

18 REPLIES 18

I am getting the below error.

 

Suresh36_0-1682437046789.png

 

Try removing .valueOf from both date objects, just use startdate < currentDate

 

 

I have removed .valueOf but no luck, if i removed this line 'g_form.setValue('start_date', oldValue);'

it is not getting the script error , but we need to set the old value as well. 

@Suresh36 Did you check my script?

Hi,

Can you try below code

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

  var devRelease = g_form.getDisplayValue('x_thntm_ntrs_devop_devops_release');

  if (devRelease) {
    var currentDate = new Date();
    var startDate = new Date(g_form.getValue('start_date'));

    if (startDate.valueOf() < currentDate.valueOf()) {
      g_form.addErrorMessage('Error Message: Planned start date cannot be earlier than current date');
      g_form.setValue('start_date', oldValue);
      return false;
    }
  }
}

 

Thanks,

Rahul Kumar

 

If my response helped please mark it correct and close the thread.

Thanks,
Rahul Kumar