Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
Date Range Validation (Within 30 Days) in Client Side

This ServiceNow client script provides real-time date validation for form fields, ensuring users can only select dates within a specific 30-day window from today's date. The script runs automatically when a user changes a date field value, providing immediate feedback and preventing invalid date submissions.

The script validates that any date entered in a form field meets these criteria:
Minimum Date: Today's date (no past dates allowed)
Maximum Date: 30 days from today's date
Real-time Validation: Instant feedback as users type or select dates
User-friendly Errors: Clear error messages explaining the valid date range
Automatic Field Clearing: Invalid dates are automatically cleared to prevent submission
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
function onChange(control, oldValue, newValue, isLoading, isTemplate) {
if (isLoading || newValue === '') {
return;
}

var todayDate = new Date();
var futureDate = new Date();
futureDate.setDate(futureDate.getDate() + 30);

var todayDateStr = formatDate(todayDate, g_user_date_format);
var futureDateStr = formatDate(futureDate, g_user_date_format);

var selectedDateNum = getDateFromFormat(newValue, g_user_date_format);
var todayDateNum = getDateFromFormat(todayDateStr, g_user_date_format);
var futureDateNum = getDateFromFormat(futureDateStr, g_user_date_format);

if (selectedDateNum < todayDateNum || selectedDateNum > futureDateNum) {
g_form.showFieldMsg(control, 'Date must be between today and 30 days from today', 'error');
g_form.clearValue(control);
} else {
g_form.hideFieldMsg(control);
}
}
Loading