Predicates

Predicate functions are reusable checks that evaluate one or more input values against a defined condition and return true if the condition is met, or false otherwise. All predicate functions support automatic type conversion, allowing various data types such as strings, numbers, dates, or objects to be passed in. They are used in decision-making, validation, and routing logic without modifying the input data.

By using predicates, you can:

  • Simplify process logic with clear, reusable, and declarative checks.
  • Ensure data quality by catching invalid inputs early.
  • Enhance workflow automation by enabling robust decision-making.

In validation scenarios, document field values are usually provided as text, requiring predicate functions to parse these values into the appropriate data type before evaluation. For example, a numeric predicate tries to convert a string to a number; if successful, it applies the numeric check, but if parsing fails, it returns false. The output of every predicate function is always a Boolean result, ensuring predictable and consistent behavior within rule conditions.

The predicate functions are grouped into the following categories for easy access. Use the Filter box to search for predicates by entering a function name. The results display the matching functions along with their associated groups.

You can view the functions in either of the following ways:

View Icon Description
Show alphabetically alphabeticalview

Displays all available functions in a single A to Z list. This view is useful if you know the exact function name and want to locate it quickly without navigating through functional categories.

Show grouped

Displays functions organized into categories, (for example, Text and Date) in expandable sections. This view is useful when you know the type of operation you need but not the exact function name.

Number

The number functions are used for validating numeric values, ranges, comparisons, and mathematical properties.

Function

Description

IsNumber(value) Returns true if the value can be parsed as a valid number.
IsNotNumber(value) Returns true if the value cannot be parsed as a number.
IsNaN(value) Returns true if the value is Not-a-Number (NaN).
IsFinite(value) Returns true if the value is a finite number.
IsInfinite(value) Returns true if the value is infinite.
IsInteger(value) Returns true if the value is a whole number without decimals.
IsDecimal(value) Returns true if the value is a decimal number.
IsFloat(value) Returns true if the value is a floating-point number.
IsDouble(value) Returns true if the value is a valid double/decimal number.
IsShort(value) Returns true if the value is a 16-bit integer (-32,768 to 32,767).
IsLong(value) Returns true if the value is a 32-bit integer (-2,147,483,648 to 2,147,483,647).
IsByte(value) Returns true if the value is a byte (0 to 255).
IsWholeNumber(value) Returns true if the value is a whole number.
IsCurrency(value) Returns true if the value is formatted as currency.
IsPercentage(value) Returns true if the value is a percentage.
IsPositive(value) Returns true if the number is positive.
IsNegative(value) Returns true if the number is negative.
IsZero(value) Returns true if the number equals zero.
IsGreaterThanZero(value) Returns true if the number is greater than zero.
IsOdd(value) Returns true if the number is odd.
IsEven(value) Returns true if the number is even.
IsPrime(value) Returns true if the number is a prime number.
IsDivisibleBy(number, divisor) Returns true if the number is divisible by the divisor.
IsGreaterThan(number, threshold) Returns true if the first number is greater than the threshold.
IsLessThan(number, threshold) Returns true if the first number is less than the threshold.
IsGreaterThanOrEqual(number, threshold) Returns true if the first number is greater than or equal to the threshold.
IsLessThanOrEqual(number, threshold) Returns true if the first number is less than or equal to the threshold.
IsBetween(number, min, max) Returns true if the number is between the minimum and the maximum (inclusive) range.

Text

The text functions are used for validating string content, format, patterns, and character composition.

Function

Description

IsText(value) Returns true if the value is a text/string.
IsEmpty(value) Returns true if the text is empty.
IsNotEmpty(value) Returns true if the text is not empty.
IsNull(value) Returns true if the value is null
IsNotNull(value) Returns true if the value is not null.
IsNullOrEmpty(value) Returns true if the text is null or empty.
IsNullOrWhiteSpace(value) Returns true if the text is null, empty, or contains only whitespaces.
IsAlpha(value) Returns true if the text contains only alphabetic characters.
IsAlphanumeric(value) Returns true if the text contains only letters and numbers.
IsNumericString(value) Returns true if the text contains only numeric characters.
IsUpperCase(value) Returns true if all letters in the text are uppercase.
IsLowerCase(value) Returns true if all letters in the text are lowercase.
IsMixedCase(value) Returns true if the text contains both uppercase and lowercase.
IsTrimmed(value) Returns true if the text has no leading or trailing whitespaces.
ContainsLetters(value) Returns true if the text contains at least one letter.
ContainsDigits(value) Returns true if the text contains at least one digit.
ContainsWhitespace(value) Returns true if the text contains whitespace characters.
HasSpecialCharacters(value) Returns true if the text contains special characters.
IsMinimumLength(value, length) Returns true if the text length is at least the specified minimum.
IsMaximumLength(value, length) Returns true if the text length is at most the specified maximum.
IsExactLength(value, length) Returns true if the text length exactly matches the specified length.
IsLengthBetween(value, min, max) Returns true if the text length is between the minimum and the maximum range.
MatchesPattern(value, pattern) Returns true if the text matches the specified regex pattern.
DoesNotMatchPattern(value, pattern) Returns true if the text does not match the specified regex pattern.
IsPalindrome(value) Returns true if the text is palindrome.
HasConsecutiveCharacters(value, count) Returns true if the text has consecutive repeating characters.
Contains(substring, value) Returns true if the text contains the specified substring.
ContainsLetter(value, letter) Returns true if the text contains the specified letter.
ContainsSpecialCharacter(value, character) Returns true if the text contains the specified special character.
StartsWith(value, substring) Returns true if the text starts with the specified substring.
StartsWithLetter(value, letter) Returns true if the text starts with the specified letter.
StartsWithNumber(value, number) Returns true if the text starts with the specified number.
EndsWith(value, substring) Returns true if the text ends with the specified substring.
EndsWithLetter(value, letter) Returns true if the text ends with the specified letter.
EndsWithNumber(value, number) Returns true if the text ends with the specified number.
IsEmail(value) Returns true if the text is a valid email address.
IsPhoneNumber(value) Returns true if the text is a valid phone number.
IsUSPhoneNumber(value) Returns true if the text is a valid US phone number.
IsURL(value) Returns true if the text is a valid URL.
IsIPAddress(value) Returns true if the text is a valid IP address.
IsIPv4(value) Returns true if the text is a valid IPv4 address.
IsIPv6(value) Returns true if the text is a valid IPv6 address.
IsUSZipCode(value) Returns true if the text is a valid US ZIP code.
IsUKPostcode(value) Returns true if the text is a valid UK postcode.
IsSSN(value) Returns true if the text is a valid Social Security Number.
IsGUID(value) Returns true if the text is a valid GUID/UUID.
IsHexColor(value) Returns true if the text is a valid hexadecimal color code.
IsJSON(value) Returns true if the text is a valid JSON.
ISBase64(value) Returns true if the text is valid Base 64 encoded.

Date

The date functions are used for validating dates, times, formats, and temporal conditions.

Function

Description

IsDate(value) Returns true if the value can be parsed as a date.
IsDateTime(value) Returns true if the value is a valid date and time.
IsTime(value) Returns true if the value is a valid time.
IsTime12Hour(value) Returns true if the value is a valid 12-hour format time.
IsTime24Hour(value) Returns true if the value is a valid 24-hour format time.
IsTimestamp(value) Returns true if the value is a valid timestamp.
IsISODate(value) Returns true if the date is in ISO 8601 format.
IsUSDate(value) Returns true if the date is in US format (MM/DD/YYYY).
IsUKDate(value) Returns true if the date is in UK format (DD/MM/YYYY).
IsEuropeanDate(value) Returns true if the date is in European format.
IsValidDateFormat(value, format) Returns true if the date matches the specified format.
IsToday(value) Returns true if the date is today.
IsYesterday(value) Returns true if the date is yesterday.
IsTomorrow(value) Returns true if the date is tomorrow.
IsThisWeek(value) Returns true if the date falls within the current week.
IsThisMonth(value) Returns true if the date falls within the current month.
IsThisYear(value) Returns true if the date is in the current year.
IsInPast(value) Returns true if the date is in the past.
IsInFuture(value) Returns true if the date is in the future.
IsOnOrAfterToday(value) Returns true if the date is today or later.
IsOnOrAfterTomorrow(value) Returns true if the date is tomorrow or later.
IsAfter(date, referenceDate) Returns true if the first date is after the reference date.
IsBefore(date, referenceDate) Returns true if the first date is before the reference date.
IsOnOrAfter(date, referenceDate) Returns true if the first date is on or after the reference date.
IsOnOrBefore(date, referenceDate) Returns true if the first date is on or before the reference date.
IsBetween(date, startDate, endDate) Returns true if the given date is within the specified start and end date range (inclusive).
IsWithinLastDays(date, days) Returns true if the date is within the specified number days in the past.
IsWithinNextDays(date, days) Returns true if the date is within the specified number of days in the future.
IsOlderThanDays(date, days) Returns true if the date is older than the specified number of days.
IsNewerThanDays(date, days) Returns true if the date is newer than the specified number of days.
IsWeekday(value) Returns true if the date is a weekday (Monday-Friday).
IsWeekend(value) Returns true if the date is a weekend (Saturday-Sunday).
IsBusinessDay(value) Returns true if the date is a business day.
IsHoliday(value) Returns true if the date is a holiday.
IsDayOfWeek(value, day) Returns true if the date falls on the specified day of week.
IsStartOfMonth(value) Returns true if the date is the first day of the month.
IsEndOfMonth(value) Returns true if the date is the last day of the month.
IsMonthOfYear(value, month) Returns true if the date is in the specified month.
IsQuarter(value, quarter) Returns true if the date is in the specified quarter.
IsLeapYear(value) Returns true if the year is a leap year.
IsAgeGreaterThan(birthDate, years) Returns true if the age calculated from the birthdate is greater than the specified number of years..
IsAgeLessThan(birthDate, years) Returns true if the age calculated from birthDate is less than the specified years.
IsAgeBetween(birthDate, minYears, maxYears) Returns true if the age calculated from birthDate is between minimum and maximum number of years.
IsNull(value) Returns true if the value is null.
IsNotNull(value) Returns true if the value is not null.

Financial

The financial functions are used for validating financial identifiers, monetary values, and calculation correctness.

Function

Description

IsValidIBAN(value) Returns true if the value is a valid IBAN.
IsValidSWIFT(value) Returns true if the value is a valid SWIFT code.
IsValidBIC(value) Returns true if the value is a valid BIC.
IsValidVAT(value) Returns true if the value is a valid VAT number.
IsValidAccountNumber(value) Returns true if the value is a valid account number.
IsValidRoutingNumber(value) Returns true if the value is a valid routing number.
IsValidSortCode(value) Returns true if the value is a valid sort code.
IsCreditCardNumber(value) Returns true if the value is a valid credit card number.
IsCurrencyCode(value) Returns true if the value is a valid ISO currency code.
IsAmountPositive(value) Returns true if the amount is positive.
IsAmountNegative(value) Returns true if the amount is negative.
IsAmountBetween(value, min, max) Returns true if the amount is between minimum and maximum.
IsTaxCalculationValid(net, taxRate, gross) Returns true if net + (net * taxRate) equals gross.
IsLineItemTotalValid(itemPrice, quantity, totalPrice) Returns true if itemPrice * quantity equals totalPrice.
IsDiscountValid(originalPrice, discountAmount, finalPrice) Returns true if originalPrice - discountAmount equals finalPrice.

Boolean

The Boolean functions are used for evaluating boolean values and logical truth conditions.

Function Description
IsBoolean(value) Returns true if the value can be parsed as a boolean.
IsTrue(value) Returns true if the value is true.
IsFalse(value) Returns true if the value is false.
IsNullOrTrue(value) Returns true if the value is null or true.
IsNullOrFalse(value) Returns true if the value is null or false.

Object

The object functions are for checking object state, type, nullability, and equality conditions.

Function Description
IsDefined(value) Returns true if the value is defined (not undefined).
IsUndefined(value) Returns true if the value is undefined.
IsNull(value) Returns true if the value is null.
IsNotNull(value) Returns true if the value is not null.
IsNullOrUndefined(value) Returns true if the value is null or undefined.
IsType(value, type) Returns true if the value is of the specified type.
IsType(value, typeName) Returns true if the value matches the specified type name.
Equals(value1, value2) Returns true if value1 equals value2.
NotEquals(value1, value2) Returns true if value1 does not equal value2.
IsOneOf(value, ...options) Returns true if the value matches any of the specified options.
IsOneOf(value, options) Returns true if the value matches any value in the provided collection of options.
IsNotOneOf(value, ...options) Returns true if the value does not match any of the specified options.
IsNotOneOf(value, options) Returns true if the value does not match any value in the provided collection of options.
IsBetween(value, min, max) Returns true if the number is between the minimum and the maximum (inclusive) range.

Validation

The validation functions are used for conditions and rule-based validation logic.

Function Description
IsRequired(value) Returns true if the value is present and not empty.
IsOptional(value) Returns true (value is optional).
IsValidWhen(value, condition) Returns true if the value is valid when the condition is true.
IsInvalidWhen(value, condition) Returns true if the value is invalid when the condition is true.