FormWork documentation

Operators Reference

Every condition operator and the value types on which it is available.

Operators are shared by field/page display logic, field validation, workflow conditions, and reference filters. The builder filters the list using the left-hand value’s type.

Quick chooser

NeedUse
Exact scalar matchEquals / Does not equal
Numeric or chronological orderingGreater/Less comparisons
Character, selection, or instance countLength operators
Text or array membershipContains / Does not contain
Text prefix, suffix, or regexStarts with / Ends with / Matches pattern
Validate text formatIs email, URL, number, integer, float, alpha, alphanumeric
Test a toggleIs true / Is false
Check presenceIs empty / Is not empty

Complete operator table

Builder labelKeyValue neededAvailable types
EqualseqYesString, number, boolean, date, datetime, time
Does not equalneqYesString, number, boolean, date, datetime, time
Greater thangtYesNumber, date, datetime, time
Greater or equal togteYesNumber, date, datetime, time
Less thanltYesNumber, date, datetime, time
Less or equal tolteYesNumber, date, datetime, time
Length equalslength_eqYesString, array
Length not equalslength_neqYesString, array
Length greater thanlength_gtYesString, array
Length greater or equal tolength_gteYesString, array
Length less thanlength_ltYesString, array
Length less or equal tolength_lteYesString, array
ContainscontainsYesString, array
Does not containnot_containsYesString, array
Starts withstarts_withYesString
Ends withends_withYesString
Matches patternmatches_patternYesString
Is emailis_emailNoString
Is URLis_urlNoString
Is numberis_numberNoString
Is integeris_integerNoString
Is floatis_floatNoString
Is alphais_alphaNoString
Is alphanumericis_alphanumNoString
Is trueis_trueNoBoolean
Is falseis_falseNoBoolean
Is emptyis_emptyNoString, number, boolean, date, datetime, time, array
Is not emptyis_not_emptyNoString, number, boolean, date, datetime, time, array

Repeatable parents

When the selected reference represents a repeatable parent rather than one child instance, the builder deliberately limits operators to:

length_eq, length_neq, length_gt, length_gte, length_lt, length_lte, is_empty, and is_not_empty.

Choose a child/instance reference when you need to compare the values inside it.

Meaning by type

  • String length counts characters; array length counts items or repeatable instances.
  • String contains checks text content; array contains checks membership.
  • Date/time comparisons use chronological order.
  • Empty checks are the clearest way to test absence; do not approximate emptiness with Equals and a guessed blank value.
  • Is number/integer/float validate text that represents those formats; a true Number field already has numeric type.

When design-time type is unknown, such as some dynamic workflow output, the editor may show the full set. Runtime data must still be compatible.

Right-hand values

Operators marked Value needed accept a typed literal or compatible reference. Operators without one are complete predicates by themselves.

For practical configuration, return to Conditional Logic or Validation Rules.