Skip to content

Fields

Why this matters

Fields are a module's "columns": name, email, date of birth, passport number. As an administrator you can add, modify, hide, and configure fields on any custom module, and modify the configuration (label, validation, visibility) of base module fields.

Field types

  • Short text — one line (name, tax ID).
  • Long text — several paragraphs (notes, address).
  • Number — integer or decimal.
  • Currency — number with currency formatting.
  • Boolean — yes/no, true/false.
  • Date and Date and time.
  • Picklist — selection from a predefined list.
  • Multi-picklist — multiple selections.
  • Relation — points to a record in another module (belongsTo).
  • File — direct upload.
  • Computed — value calculated from other fields.

Add a field

  1. Open the module → Fields tab → Add field.
  2. Fill in:
  3. Technical name — used in DB and URL (first_name, passport_number). Won't change later.
  4. Label — what the user sees (can differ by language).
  5. Type — from the list above.
  6. Required — if checked, the record can't be saved without it.
  7. Default — initial value (optional).
  8. Validation — expected format (email, phone, regex).
  9. Searchable — included in global search.
  10. Save.

ImmCase adds the corresponding column to the module's database table.

Screenshot: field editor with field type and options

Computed fields

A computed field isn't filled in — it's calculated automatically from other fields.

Example: a full_name field computed as CONCAT(first_name, ' ', last_name).

  1. Type: Computed.
  2. Expression — SQL or template formula.
  3. Trigger — when to recompute: on create, on edit, always.

Useful for full names, totals, ages calculated from date of birth, etc.

Display name (display_name)

Each module has a special display_name field that defines how the record is shown in lists and references. For example, an applicant can show as <folio> - <full name>.

Configure it in Fieldsdisplay_name field → expression.

To recompute every existing record after changing it, use the admin command modules:finalize-records (or ask your technical administrator).

A Picklist field doesn't store the value's text — it stores the option's ID. Options are managed in Picklists.

When creating a Picklist field, you pick which option group it uses.

Validation

Each field can have rules:

  • Format — email, phone, tax ID.
  • Length — minimum, maximum.
  • Range — for numbers or dates.
  • Unique — no two records can have the same value.

Validations apply at the form and at the API. If an invalid value comes from another source (import), ImmCase rejects it.

Watch out for

  • Don't change a field's type with data. If a Text field has 10,000 records and you change it to Number, data can corrupt. If you need to change type, create a new field and migrate the data.
  • Don't delete a field without checking dependencies. Other computed fields, templates, workflows, or reports may reference it. You'll break everything if you delete without checking.
  • Renaming the technical name — you can't. If you misspelled, create a new one and delete the old, or live with the odd name.

Where to next