Limiting Forms
In version 3.2 and greater we have unified the ability to search for forms by limiting the values of their fields. This is used in, for example:
- I2CE_Form::search()
- I2CE_Form::listFields()
- Form Relationships
- Report Limits
Limit Styles
There are many ways that you may wish to limit the values of a particular field, we refer to these as a limit style. Recall that every field is has a type, such as INT or INT_LIST, which translates to a class, such as I2CE_FormField_INT or I2CE_FormField_INT_LIST, all of which sub-class I2CE_FormField. A type is made available to some sub-class (as well as well of all of its sub-classes) of I2CE_FormField.
Most of these limit style, and their attendant code, can be found in the module form-limits.
Existing Styles
These are the limit styles provided by form-limits version 3.2.0. Please see the class itself for more up-to-date information.
- I2CE_FormField
- null
- not_null
- max_parent
- min_parent
- max_parent_form
- min_parent_form
- I2CE_FormField_BOOL
- truefalse
- true
- false
- I2CE_FormField_DB_DATE
- greaterthan_now
- lessthan_now
- I2CE_FormField_DB_INT
- between
- equals
- in
- greaterthan
- greaterthan_equals
- lessthan
- lessthan_equals
- I2CE_FormField_DB_STRING
- between
- equals
- in
- greaterthan
- greaterthan_equals
- lessthan
- lessthan_equals
- like
- I2CE_FormField_DB_TEXT
- between
- equals
- in
- greaterthan
- greaterthan_equals
- lessthan
- lessthan_equals
- like
- I2CE_FormField_YESNO
- yesno
- yes
- no