Rules Operator's

General Properties

$required: This operator specifies that the field is required, meaning it cannot be null or undefined.

For number Type (K extends number)

1. $enum: Specifies a list of valid values for the number field. The field must match one of the values from the array.

2. $multipleOf: The number must be a multiple of the specified value.

3. $positive: The number must be positive, greater than 0.

4. $negative: The number must be negative, less than 0.

5. $integer: The number must be an integer (no decimal values).

6. $float: The number must be a floating-point value (has decimal places).

7. $even: The number must be even (divisible by 2).

8. $odd: The number must be odd (not divisible by 2).

9. $prime: The number must be a prime number (greater than 1 and only divisible by 1 and itself).

10. $perfect: The number must be a perfect number (equal to the sum of its proper divisors, excluding itself).

11. $fibonacci: The number must be a Fibonacci number (a sequence where each number is the sum of the two preceding ones).

12. $powerOfTwo: The number must be a power of 2 (e.g., 1, 2, 4, 8, etc.).

13. $powerOfTen: The number must be a power of 10 (e.g., 10, 100, 1000, etc.).

14. $powerOf: The number must be a power of the specified base number.

15. $range: Specifies the valid range for the number with a minimum ($min) and maximum ($max) value.

16. $greaterThan: The number must be greater than the specified value.

17. $lessThan: The number must be less than the specified value.

18. $greaterThanOrEqual: The number must be greater than or equal to the specified value.

19. $lessThanOrEqual: The number must be less than or equal to the specified value.

20. $finite: The number must be a finite value (not Infinity or NaN).

21. $infinite: The number must be infinite (i.e., Infinity or -Infinity).

22. $palindrome: The number must be a palindrome (it reads the same forward and backward).

23. $harshad: The number must be a Harshad number (divisible by the sum of its digits).

24. $epochTime: The number must be a valid epoch timestamp (milliseconds since January 1, 1970).

25. $angle: Specifies that the number must be a valid angle in either radians or degrees, with a specified range ($min, $max).

26. $logicalOr: This allows for logical OR between multiple rules. The field must satisfy at least one of the rules in the provided array.

27. $logicalNot: This allows for logical NOT, meaning the field must not satisfy the rule defined.

28. $custom: This allows you to define a custom validation function. The field value is passed to this function, and the function should return true or false.

For string Type (K extends string)

1. $minLength: Specifies the minimum length that the string must have.

2. $maxLength: Specifies the maximum length that the string can have.

3. $exactLength: Specifies the exact length that the string must have.

4. $alphaNumeric: The string must be alphanumeric, containing only letters and numbers.

5. $contains: The string must contain the specified substring.

6. $startsWith: The string must start with the specified substring.

7. $endsWith: The string must end with the specified substring.

8. $exclude: The string must not contain the specified substring.

9. $noWhitespace: The string must not contain any whitespace characters.

10. $onlySpecialChars: The string must contain only special characters (no alphanumeric characters).

11. $noSpecialChars: The string must not contain any special characters.

12. $alpha: The string must contain only alphabetic characters.

13. $numeric: The string must contain only numeric characters.

14. $locale: The string must be validated according to the specified locale (e.g., language and regional settings).

15. $enum: Specifies a list of valid values for the string field. The field must match one of the values from the array.

16. $match: The string must match the provided regular expression (RegExp).

17. $validEmail: The string must be a valid email address format.

18. $validURL: The string must be a valid URL format.

19. $validIP: The string must be a valid IP address format.

20. $validIPv4: The string must be a valid IPv4 address format.

21. $validIPv6: The string must be a valid IPv6 address format.

22. $validUUID: The string must be a valid UUID (Universally Unique Identifier) format.

23. $validCreditCard: The string must be a valid credit card number format.

24. $custom: Allows defining a custom validation function for the string. The field value is passed to this function, and it should return true or false.

For boolean Type (K extends boolean)

1. $mustBeTrue: The boolean field must be true.

2. $mustBeFalse: The boolean field must be false.

Last updated