Value type constraints

Each value type may optionally define a constraint to enforce data validation. You can configure these constraints when creating a new value type in the Value Type Manager application. The available value type constraints, along with what base types they can be applied to, are below:

  • Enum (one of): A constraint representing a static set of allowed values.
    • Valid base types: String, Boolean, Decimal, Double, Float, Integer, or Short.
    • For String properties, the enum values may optionally be case-sensitive or case-insensitive.
  • Range: A minimum value, maximum value, or range of allowed values.
    • Valid base types: Decimal, Double, Float, Integer, Short, Date, Timestamp, String, or Array.
    • For String properties, the length of the string is constrained.
    • For Array properties, the size of the array is constrained.

Additionally, the following property types have additional type-specific constraints available:

  • String:
    • Regex: A regex pattern that the string must match. The regex validation may optionally pass when matching only a substring of the property value.
    • RID: The string must be a valid rid.
    • UUID: The string must be a valid UUID.
  • Array:
    • Uniqueness: All elements of the array must be unique.
    • Nested: A value type constraint can be applied to the elements of the array. For example, a regex constraint could be applied to every string in an array.