formbasedocs
Go to appApp

Building Forms

Field settings

Every question has shared settings — title, required, placeholder — plus type-specific options like character limits, file restrictions, and validation rules. This page covers them all.


Accessing field settings

Type a question’s title and options straight on the canvas. Everything else lives in the block menu: click the drag handle on the block’s left edge (or tap the block indicator on touch) and pick from Turn into, Options, Validation, and the usual duplicate / move / hide / delete actions.

Common settings

These options appear on every question, whatever its type.

SettingWhat it does
TitleThe question label respondents see — supports bold, italic, and links
Hide title / Show titleHides the label but keeps the field. Useful when a paragraph above already says what to enter
Mark as required / Mark as optionalQuestions start required: an asterisk shows and an empty answer blocks submission. Ranking and Documents are never counted as unanswered, and a question that logic hides is never required
Edit placeholder / Edit default valueOne input, two modes. The placeholder is the grey hint that disappears once the respondent types; the default value is a real answer they can change or clear. Only Text Input, Text Area, Email, Website URL, Phone Number, and Number have both. Switch with this menu item or press ⌘ + D (Ctrl + D) inside the input

A field’s key — the name automations prefill and read it by — is set in the Keys table, which the toolbar’s key icon opens for the whole form: one key per field, option, row and column. Leave a key empty to use the one derived from the title or label. Editing a key on a published form warns you that automations using the old key will break. Each option’s hint row also carries its key as a chip you can edit in place. See Field keys for how keys are derived, frozen at publish, and used by callers.

Adding help text

formbase is a document-style editor — to add help text or instructions for a question, insert a paragraph or heading block above or below the field on the canvas. Content blocks between questions are visible to respondents and work just like any other block.

Title visibility and data

Hiding a title does not remove the field from submissions. It still shows as a column header in exports, so give hidden-title fields a clear internal name.

Text options

Min length and Max length live under Validation in the block menu and apply to Text Input, Text Area, and Website URL. Text Area is the multi-line variant of Text Input — switch between them with Turn into.

Number options

Minimum and Maximum live under Validation and apply to Number, Star Rating, and a linear scale. Number also has Step: the answer must be a multiple of it, so a step of 1 accepts only whole numbers and 0.5 accepts halves. Leave it empty to accept any number.

Choice options

These settings apply to choice fields: Radio Buttons, Checkboxes, Dropdown, Ranking, Single Picture Choice, and Multi Picture Choice.

SettingApplies toWhat it does
Options listAll choice typesThe answers respondents pick from — click to edit, drag to reorder
Randomize orderRadio Buttons, Checkboxes, Dropdown, RankingShuffles option order per respondent to reduce bias. The menu item reads Remove randomized order once it is on
Allow multiple / single selectionSingle Picture Choice, Multi Picture ChoiceFlips picture choice between one pick and several
Min / max selectionsCheckboxes, picture choiceUnder Validation — how few or how many options may be ticked

Single options can also be hidden or preselected from the canvas: with the cursor in an option, press ⌘ + H (Ctrl + H) to hide it, or ⌘ + D (Ctrl + D) to select it by default.

Rating and scale options

Rating

The Star Rating field shows 5 stars by default. Use Increase max stars and Decrease max stars in the block menu to set anything from 1 to 10. Turn it into a linear scale from the same menu; the maximum carries over and the menu items become Increase / Decrease scale max.

Matrix

The Matrix / Grid field creates a grid of choices. Define Rows (the sub-questions) and Columns (the answers). The respondent picks one column per row. Under Validation you can Require all rows or set Min answered rows.

File upload and payment options

File upload

File Upload takes Min files, Max files, Max size (MB), and Accepted types under Validation. See File uploads & signatures for the details.

Payment

The Payment field collects a one-time charge. Set the Amount and Currency on the block — USD, EUR, GBP, JPY, CAD, AUD, CHF, SEK, NOK, DKK, NZD, SGD, HKD, AED, or TRY. Each currency has a minimum charge (0.50 for USD and EUR), and publishing is blocked until Stripe is connected and the amount is valid. See Payment collection.

Default values from other fields

A field’s default value can come from another field in the same form instead of fixed text — a hidden field (for example a URL parameter) or a calculated field. It works on the six inputs that have a default-value slot: Text Input, Text Area, Email, Website URL, Phone Number, and Number.

To set it up:

  1. Click into the field’s input.
  2. Type @ as the first character. A menu lists your hidden and calculated fields; keep typing to filter.

  3. Pick a field. The input switches to default value mode on its own and shows the field as a chip, for example @recipient.

To remove the reference, click the × on the chip, press Backspace, or press ⌘ + D again. If you want a literal @ instead — a placeholder like @yourhandle — press Esc to close the menu and keep typing; the input stays in the mode it was in. A chip turns red when its field has been deleted; re-adding a field with the same name reconnects it.

The chip replaces the field’s placeholder text. The @ only opens the menu as the first character, so a default like jeff@example.com stays plain text.

When someone opens the form, the field is pre-filled with the referenced value — for example, a link ending in ?recipient=Jeff fills a Text Input that references the recipient hidden field with “Jeff”. How it behaves:

  • Respondents can change or clear the value. Their own answer is never overwritten.
  • A calculated field fills the input with the first value it has — usually its initial value. Later changes from logic rules don’t replace what is already in the input.

  • If the referenced field has no value, the input starts empty. A Number field also stays empty when the value isn’t a number (for example ?age=abc).

  • The submission stores both values: the hidden or calculated field, and the question’s final answer.

See Hidden fields and Calculated fields.

Examples

  • Contact form — Email field marked required, Text Area for message with a placeholder “Tell us how we can help…”, Phone Number field marked optional with a paragraph below it: “We’ll only call if we need to clarify your request”

  • NPS survey — Star Rating set to 10 stars, followed by a Text Area (hidden by default, shown via logic when the score is 6 or below) with placeholder “What could we improve?”

  • Product order — Number field for quantity with min 1 / max 100, Checkboxes for add-ons, and a payment field whose amount is driven by a calculated field

  • Event RSVP — Radio Buttons for attendance, Checkboxes for dietary requirements with randomized order to avoid bias, Date Picker with an earliest date set

Validation rules

Validation runs as the respondent fills out your form. formbase highlights bad input inline and refuses to submit until everything passes.

Built-in by field type

Each question type checks its own shape, with nothing to configure. Email checks the address format. Website URL accepts http and https links only and rejects a host that is not a real domain. Phone Number checks the number against the selected country. Number, Date Picker, and Time Picker reject anything that is not a number, a date, or a time.

On Business, an email question can additionally require verification — the respondent confirms that address with a one-time code before the form accepts the submission. The toggle sits under Validation → Verification. See respondent email verification.

Optional rules per field

Open the block menu and pick Validation. The rules on offer depend on the question type; these are the exact menu labels.

RuleApplies toEffect
Min length / Max lengthText Input, Text Area, Website URLCharacter count, measured after trimming spaces
RegexText Input, Text Area, Website URL, EmailAnswer must match the pattern
Minimum / MaximumNumber, Star Rating, linear scaleLimits the numeric range
StepNumberAnswer must be a multiple of the step; 1 means whole numbers only
Earliest date / Latest dateDate PickerBounds the allowed dates
Earliest time / Latest timeTime PickerBounds the allowed times
Min selections / Max selectionsCheckboxes, picture choiceHow many options may be ticked
Require all rowsMatrix / GridEvery row must have an answer
Min answered rowsMatrix / GridHow many rows must be answered
Min files / Max filesFile UploadHow many files per submission
Max size (MB)File UploadLargest allowed size per file
Accepted typesFile UploadPick from .pdf, .docx, image/*, .zip and more
Require email verificationEmail (Business)Respondent confirms the address with a one-time code

Radio Buttons, Dropdown, Toggle Switch, Signature, Ranking, Payment, and Schedule appointment take no validation rules — required or not is the only choice. Inside a repeating group, email verification is not offered.

Custom pattern examples

  • US ZIP code — ^\d{5}(-\d{4})?$

  • Hex color code — ^#[0-9a-fA-F]{6}$

  • URL-friendly slug — ^[a-z0-9-]+$

A value that doesn’t match shows a generic “Invalid value” error, so add a paragraph near the field describing the format you expect. An invalid regex is ignored and never blocks submission. Length rules count characters after trimming leading and trailing spaces.

How validation runs

formbase checks validation live in the browser as the respondent types. Format and rule errors appear immediately with an inline message; a “This field is required” error appears once the field has been touched, or when the respondent tries to submit.

Next steps