zemanofgod
12/2/2015 - 4:23 PM

Business Rule / Date validation (before after) with error messages

Business Rule / Date validation (before after) with error messages

function onBefore(current, previous) {
	//This function will be automatically called when this rule is processed.
	if (!current.requested_by_date.nil() && !current.start_date.nil()) {
		if (current.requested_by_date.getGlideObject().getNumericValue() <=
			current.start_date.getGlideObject().getNumericValue() ) {
			gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_req_date_conflict'));
			current.start_date.setError(gs.getMessage('alert_change_request_planned_start_req_date_conflict'));
			current.setAbortAction(true);
		}
	}
	if (!current.end_date.nil() && !current.requested_by_date.nil()) {
		if (current.requested_by_date.getGlideObject().getNumericValue() <=
			current.end_date.getGlideObject().getNumericValue() ) {
			gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_end_date_conflict'));
			current.end_date.setError(gs.getMessage('alert_change_request_planned_start_end_date_conflict'));
			current.setAbortAction(true);
		}
	}
	if (!current.end_date.nil() && !current.start_date.nil()) {
		if (current.end_date.getGlideObject().getNumericValue() <=
			current.start_date.getGlideObject().getNumericValue() ) {
			gs.addErrorMessage(gs.getMessage('alert_change_request_planned_start_date_conflict'));
			current.start_date.setError(gs.getMessage('alert_change_request_planned_start_date_conflict'));
			current.setAbortAction(true);
		}
	}
}


    var msg = gs.getMessage('im_notification_msg_1') + ' ' +  
              current.caller_id.getDisplayValue() + ' ' +  
              gs.getMessage('im_notification_msg_2') + ' ' +  
              current.number;  
    gs.addInfoMessage(msg);