Built something you're proud of? Tell the story. A quick G2 review of App Engine or Build Agent helps other developers see what's possible on ServiceNow. Share your experience.

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