Skip to content
ImplementedFor eCRF designers, data managers, statisticians

Field types

Last updated Oct 21, 2026

What this is, and who it is for

A form is made of fields. The builder offers 20 field types in four categories: 16 that capture data, one section that groups other fields, one table, and four pieces of static content that capture nothing. This page says what each one is for, what it stores, what it offers on the properties panel and which checks it can carry. It is for the person drawing a form and for the person who will later read the data, because the stored value decides how a field is exported and compared.

Where to find it

In the field toolbox on the left of the builder, in seven groups, in this order: Selection, Text Input, Static Content, Numeric, Date & Time, Media, Structure. Drag a type onto the canvas, or click it to add it at the end. Which tabs the properties panel shows for the field you select depends on its type (Field properties).

What you can do

  • Add a field of any type, rename its label, duplicate it (the copy is labelled "(Copy)" and its variable name gets a number: WEIGHT becomes WEIGHT_1, then WEIGHT_2), move it by dragging (within the form or into a section) and remove it.
  • Change its type later from the Field type control at the top of the Basic tab, with the effect on captured data stated before anything changes (below).
  • Search every field of the form with Ctrl+K.

Every option

Data fields

Each data field has a label, a variable name (unique on the form; typed in capitals with spaces turned into underscores), an optional description and help text, and takes its place in exports and formulas by the variable. A newly added field is named after its type and its position (TEXT_3). The keys the system stores for the types are text, textarea, email, phone, number, range, scale, date, date-time, time, radio, dropdown, multi-select, checkbox, toggle, file, section, table, heading, description, instruction and separator; they appear in exports and in the audit trail.

TypePalette groupWhat the person seesWhat is storedTabs offeredSpecial to this type
TextText InputOne lineTextBasic, Validation, Logic, Style, CDMSPlaceholder, default value, a unit label; checks: minimum and maximum length, pattern
Text AreaText InputSeveral linesTextBasic, Validation, Logic, Style, CDMSPlaceholder, default value; same checks as Text
EmailText InputOne line, email keyboardTextBasic, Validation, Logic, CDMSPlaceholder; the server checks the value is an address (something@domain.tld)
PhoneText InputOne line, telephone keyboardTextBasic, Validation, Logic, CDMSPlaceholder; the server checks digits and the usual punctuation, 6 to 20 characters
NumberNumericA number boxA numberBasic, Validation, Logic, CDMSMinimum, maximum, decimal places, a normal range (or several), a unit, a formula, default value, placeholder
RangeNumericTwo number boxes, From and ToText from|to, for example 10|50Basic, Validation, Logic, CDMSIn the browser: From must not exceed To, the minimum applies to From and the maximum to To. The server applies only required to a Range (it cannot read from|to as a number), and the decimal-places and normal-range controls on the tab do nothing for it. No unit
ScaleNumericA row of numbered buttons from the minimum to the maximum; choosing the chosen one again clears itA numberBasic, Validation, Logic, CDMSThe buttons run from the field's minimum to its maximum, 0 to 10 when neither is set; minimum, maximum, decimal places and a normal range are checked as for Number
DateDate & TimeA calendar pickerYYYY-MM-DDBasic, Validation, Logic, CDMSAllow future dates, allow past dates, earliest and latest date; usable in date formulas
Date & TimeDate & TimeDate and time pickerDate and time textBasic, Validation, Logic, CDMSThe same date checks; usable in date formulas
TimeDate & TimeA time boxHH:MM, 24-hourBasic, Validation, Logic, CDMSThe server checks HH:MM, with seconds allowed
RadioSelectionButtons, one chosenThe chosen option's valueBasic, Validation, Logic, Style, CDMSOptions list; Other, specify; default value; layout vertical, horizontal or grid
DropdownSelectionA list, one chosenThe chosen option's valueBasic, Validation, Logic, Style, CDMSOptions list; Other, specify; default value; placeholder
Multi-SelectSelectionTick boxes, several chosenA list of valuesBasic, Validation, Logic, Style, CDMSOptions list; Other, specify; minimum and maximum selections; layout
CheckboxSelectionOne tick box, with its labelTrue or falseBasic, Validation, Logic, Style, CDMSStarts unticked; required means ticked; auto-populate; box left or right of the label
ToggleSelectionYes and No buttons, neither chosen at firstTrue, false or nothingBasic, Validation, Logic, CDMSUnanswered until chosen; required means answered (No satisfies it); auto-populate; no default value
File UploadMediaA drop zoneThe file's nameBasic, Validation, Logic, CDMSAllowed file types, a size limit (25 MB suggested); no default value, no value assignment

File Upload stores the file's name and nothing else. The file itself is not uploaded or kept by the form, and the size limit is shown on the control but not enforced; only the extension is checked against the allowed types. Use the document register for files, and a text field for a reference to one. This is also listed on Not built yet.

Choice fields. Each option has a label (what people read) and a value (what is stored and exported; they may differ, for example 1 for "Yes"). A new Radio, Dropdown or Multi-Select starts with Option A and Option B. Options are added, edited, deleted and reordered on the Basic tab. Other, specify adds a last option labelled Other whose stored value is fixed as OTHER, so it means the same thing in every export; when a person chooses it a free-text box Please specify appears and must be filled in, whether or not the field is required. The server refuses a value that is not one of the options (the not_an_option check).

Where: Form builder > DM. Role: eCRF Designer.
Where: Form builder > Dropdown field > Options. Role: eCRF Designer.
  1. Label on the left, stored value on the right, one row per option; a row can be dragged to reorder or deleted.
  2. Adds a row.
  3. Other, specify adds the last option, labelled Other, whose stored value is always OTHER.

The panel for each type

Field properties describes the tabs one by one. The pictures here show how the panel changes from one type to the next. Every data field has the same Required switch at the top of its Validate tab (Always stops the form being marked complete. No severity.) and the same When a check fails block at the bottom, where each check the type carries is set to Query, Block or Warn; Query is the default (Validation, edit checks and their severities).

Email, Phone and Text Area

Email and Phone have no Style tab. Their Validate tab holds the text-length limits, a pattern preset and a regular expression, and one more check, Email format or Phone format, with its own severity. Text Area has the same limits and pattern but no format check, and its Basic tab offers a Default value.

Where: Form builder > Email field > Validate tab. Role: eCRF Designer.
  1. Smallest and largest number of characters.
  2. A pattern preset, or Custom to type a regular expression.
  3. The Email format check and what happens when it fails: Query (the default), Block or Warn.
Where: Form builder > Phone field > Validate tab. Role: eCRF Designer.
  1. The Phone format check and its severity.
Where: Form builder > Text Area field > Basic tab. Role: eCRF Designer.
  1. A Text Area, unlike Email and Phone, can carry a default value.

Range and Scale

The Validate tab of both shows Min value, Max value, Decimal precision and the Normal range editor (one range for everyone, or different ranges by value) with the severity for a value outside it. For a Scale the limits and the normal range are checked as for a Number. For a Range only the browser applies the limits; the server applies Required and nothing else, and the decimal-precision and normal-range controls change nothing.

Where: Form builder > Range field > Validate tab. Role: eCRF Designer.
  1. Minimum and maximum: applied in the browser only.
  2. Decimal precision: does nothing for a Range.
  3. The normal range: does nothing for a Range.
Where: Form builder > Scale field > Validate tab. Role: eCRF Designer.
  1. The buttons run from the minimum to the maximum.
  2. A normal range, checked on the server as for a Number.

Date, Date & Time and Time

A Date shows Allow future dates and Allow past dates, both on in a new field, and a Min date and a Max date. A Date & Time offers the same. A Time has no limits, only the Time format check and its severity.

Where: Form builder > Date field > Validate tab. Role: eCRF Designer.
  1. Two switches, both on in a new field.
  2. The earliest and the latest date that is accepted.
Where: Form builder > Date & Time field > Validate tab. Role: eCRF Designer.
Where: Form builder > Time field > Validate tab. Role: eCRF Designer.
  1. The Time format check and its severity.

Radio, Dropdown, Multi-Select, Checkbox and Toggle

The Basic tab of a Radio, Dropdown or Multi-Select ends with the Options list and the Other, specify switch; Radio and Dropdown also offer a Default value picked from the options. Their Style tab sets the field width, the Options layout (Radio and Multi-Select) and the two emphasis switches, Highlighted and Bordered. Multi-Select adds Min selections and Max selections on its Validate tab, and Radio, Dropdown and Multi-Select carry the Answer is one of the options check. A Checkbox has a Checkbox position on its Style tab, and a Toggle has nothing to set on Validate beyond Required.

Where: Form builder > Radio field > Basic tab. Role: eCRF Designer.
  1. A default value is picked from the options; No default clears it.
Where: Form builder > Radio field > Style tab. Role: eCRF Designer.
  1. Options layout: Vertical, Horizontal or Grid.
Where: Form builder > Multi-Select field > Validate tab. Role: eCRF Designer.
  1. How few and how many options may be ticked.
  2. The check that the answer is one of the options, with its severity.
Where: Form builder > Checkbox field > Style tab. Role: eCRF Designer.
  1. The box sits left or right of its label.
Where: Form builder > Toggle field > Validate tab. Role: eCRF Designer.

File Upload

The Validate tab lists the allowed file types and the largest file size in megabytes (25 in a new field). The types are checked; the size is shown and not enforced, and only the file's name is stored (above).

Where: Form builder > File Upload field > Validate tab. Role: eCRF Designer.
  1. Allowed extensions: checked.
  2. The size limit is shown, not enforced.

Section and table

TypeWhat it is
SectionA titled group of other fields, with its own label, variable, description, columns (1 to 4) and visibility. See Sections, headings and layout
TableA grid with typed columns and rows, fixed or added by the person. Starts with three columns (the first is the row identifier) and three rows. See Tables and repeating groups
Where: Form builder > IE. Role: eCRF Designer.

Static content

These four hold no data, have no variable and are never exported. They can be hidden by a visibility rule like any field.

TypeWhat it shows
HeadingA line of heading text with optional smaller text below it
DescriptionA paragraph, with optional smaller text
InstructionA highlighted call-out box for the person entering data
SeparatorA horizontal line. It has no properties
Where: Form builder > Heading field > Basic tab. Role: eCRF Designer.
  1. The heading text.
  2. The smaller text under it.
Where: Form builder > Instruction field > Basic tab. Role: eCRF Designer.
  1. The text of the call-out.
Where: Form builder > Separator field > Basic tab. Role: eCRF Designer.
  1. A Separator has nothing to set; its Logic tab holds only the visibility condition.
Where: Form builder > PASI. Role: eCRF Designer.
  1. An Instruction: a highlighted call-out for the person entering data.

Changing a field's type

Choose the new type from Field type on the Basic tab. Before anything changes, the builder asks the server whether the field has captured values (in UAT or Live) and tells you how each target type treats them:

TagMeaning
SafeEvery captured value stays valid and readable (for example Text to Text Area, or Radio to Dropdown)
Review valuesThe values stay but some may no longer fit, so they are checked again (for example text to number, number to Scale, Date to Date & Time)
Needs optionsThe values are codes of a list; the new type needs its options before they can be read
Not compatibleThe values cannot be read as the new type (anything to or from File Upload, a Range, or a choice to a date)
No data yetThe field holds nothing captured, so there is nothing to protect

The dialog lists what is kept (label, variable name, position, description), what is removed (settings that belong to the old type only, such as a normal range when going from Number to Text) and what else in the form uses the field (formulas, conditions). Anything to a text type is safe; a value is kept as written.

  • With no captured data, or only UAT test data that the new type can read, the change is made in place and can be undone.
  • With UAT test data the new type cannot read, the type cannot be chosen; it is greyed out.
  • With Live data the type cannot change in place, because it would make captured values unreadable: it is a breaking change that the server refuses at submit and at go-live. The builder offers instead to add a new field of the new type in the same place, with the same label and a related variable (SYSBP becomes SYSBP_TXT), and to deprecate the old one, with a reason, so it keeps its values. Formulas and rules that used the old field are flagged in the issues list until pointed at the new one.
Where: Form builder > Field type > Change to. Role: eCRF Designer.
  1. Applies the change.

What the system records

The design of the form (every field, its type and its settings) is saved as a revision of the version's draft and written to the audit trail (form.draft_saved); deprecating a field is study_form.field_deprecated with the reason. The values people enter are recorded as items with their field's variable, so the type and variable you choose are what the casebook, the audit trail and every export show.

What you cannot do, and why

  • Give two fields the same variable name. The form cannot be made active (Preview and testing lists the check).
  • Delete a field that came from a released version. It is deprecated instead.
  • Change the type of a field that holds Live data in place.
  • Store a file in a File Upload field.
  • Put a formula on a type other than Number. Only Number offers a calculation (Formulas and calculations).
  • Add a unit to Range, Scale, a date type or a choice. A unit is offered on Text and Number only.

Compliance Q&A

Compliance Q&ABuiltALCOA+ originalALCOA+ accuratePart 11 11.10(c)
Does the system keep what was entered exactly as it was entered, in a form that does not depend on how the field is displayed?

Yes. A value is stored in its own form (a number, a date as YYYY-MM-DD, a choice as its option value, a list for Multi-Select), not as the text shown on screen, and a later change adds a new row rather than overwriting the old.

Evidence: client modules/ecrf/form-builder/core/registry/field-registry.tsx (stored value of each type)server data-capture (items store the value and the field's variable)

Compliance Q&ANot built yetALCOA+ originalICH E6 essential-records
Can a participant's source file be attached to a form?

No. The File Upload field records only the name of the file chosen. Source documents belong in the document register or the site's own records.

Evidence: client modules/ecrf/form-builder/runtime/fields/controls.tsx (FileControl returns the file name only)

Field properties · Validation, edit checks and their severities · Tables and repeating groups · Design forms · Not built yet