Skip to main content

Forms

A form is the questionnaire that collects the information needed to fill in a template. Every question on the form corresponds to one placeholder on the template, so once a form is filled out, Formaliq has everything it needs to generate the finished document.

You do not need to build a form from scratch. When you create a form from a template, Formaliq automatically creates one question for each placeholder in that template. From there, you can reorder the questions, group them into sections, and set rules for how they should be answered.

Question types​

Every question on a form has a type, which controls what kind of answer it collects and how it's shown to the person filling out the form. When a form is generated from a template, Formaliq picks a type for each placeholder automatically (see Placeholder Prefixes for how to control that guess), but you can change a question's type at any time from its Edit Field panel.

Basic answers:

TypeCollectsNotes
Text InputA single line of text
Text AreaSeveral lines of textConfigurable number of rows
Sensitive TextA single line of textAlways encrypted, see Keeping sensitive answers extra safe
Sensitive Text AreaSeveral lines of textAlways encrypted, see Keeping sensitive answers extra safe
EmailA single line of textValidated as a proper email address
NumberA numberCan optionally calculate itself, see Fields that calculate themselves
DateA single dateShown as a date picker
DropdownOne choice from a list
Radio ButtonsOne choice from a listSame choices as Dropdown, shown as buttons instead of a menu
CheckboxesAny number of choices from a list
Checkbox / ToggleA yes/no answer"Checkbox" and "Toggle" collect the same yes/no answer, just displayed differently
RatingA star, number, or heart ratingConfigurable maximum (3, 5, or 10) and style
SliderA number picked from a rangeConfigurable minimum, maximum, and step

Purpose-built answers, matching the special placeholders described on the Templates page, so the person filling out the form sees one clean question instead of several separate ones:

TypeCollectsNotes
Full NameFirst and last name
AddressStreet, address line 2, city, state, and zip code
PhoneA single phone numberFormat (123) 456-7890
Phone (Complete)A phone number and extension, with a country codeFormat +1 (123) 456-7890
Date RangeA start date and an end dateChecks that the end date isn't before the start date
Yes/No + ExplanationA yes/no answer plus an optional written explanationFor example, "Yes: customer has a premium membership"

Structural types, for collecting more than one answer or organizing the form itself:

TypeCollectsNotes
List/ArrayA repeating group of questionsSee Repeating questions for lists
Object/GroupA fixed group of related questionsBundles several questions under one placeholder, e.g. {{customer.name}} and {{customer.email}}. Can nest one further group inside it

Layout elements, for breaking a long form into readable steps. These don't collect an answer, so they have no Required, Hidden, Validation, Default Value, or Conditional Visibility settings:

TypePurpose
Section BreakA horizontal divider between groups of questions
Title TextA large heading
Heading TextA smaller heading
Paragraph TextA block of instructional or explanatory text

Editing a question's properties​

Click any question on the form to open its Edit Field panel. The panel is organized into a few sections, and which ones appear depends on the question's type (layout elements like Section Break only show Basic Properties).

Basic Properties​

Every question (other than layout elements) has:

  • Label: the question text shown to the person filling out the form.
  • Field Name: the underlying name used in the form's data and in template placeholders, e.g. clientName. Changing this does not rename the placeholder in the template itself.
  • Placeholder: greyed-out example text shown inside an empty input, for question types that accept typed text (not shown for choice, toggle, rating, slider, list, group, or purpose-built questions).
  • Help Text: a short line of guidance shown under the question.
  • Required field: the form cannot be submitted until this question is answered.
  • Hidden field: the question exists but is not shown to the person filling out the form, useful alongside computed fields that fill themselves in silently.
  • Sensitive: the answer is encrypted for extra protection, see Keeping sensitive answers extra safe.

Field Options​

Several question types have their own extra settings:

  • Dropdown, Radio Buttons, Checkboxes: the list of choices, one per line.
  • List/Array: the sub-questions that make up each entry (each with its own label, name, and type), plus a minimum and maximum number of entries.
  • Object/Group: the sub-questions bundled inside the group, including purpose-built types like Address or Phone. A sub-question can itself be another group, one level deep.
  • Rating: the maximum rating (3, 5, or 10) and the display style (stars, numbers, or hearts).
  • Slider: the minimum value, maximum value, step size, and whether the current value is shown next to the slider.
  • Text Area: the number of rows shown.
  • Number: whether the value is typed in or calculated automatically.

Validation Rules​

Text, Email, and Text Area questions can require a minimum or maximum length, or a specific pattern using a regular expression. Number questions can require a minimum or maximum value. If an answer does not meet the rule, the person filling out the form sees a clear message explaining what needs to change. Other question types don't have extra validation beyond Required, since their format is already fixed (a valid date, a valid email, one of a fixed set of choices, and so on).

Default Value​

Text, Email, Text Area, Number, Date, Checkbox/Toggle, Dropdown, Radio Buttons, Rating, and Slider questions can be given a default answer that's already filled in when the form loads, which the person filling it out can still change. Other question types don't currently support a default value.

Conditional Visibility​

A question can be set to stay hidden until a specific answer is given on another question earlier in the form. For example, a question asking someone to "please explain" can stay hidden unless they chose "Other" on the question before it. This keeps the form shorter and easier to fill out, since people are only asked questions that actually apply to them.

Choose the source question, then an operator (equals, does not equal, contains, is empty, or is not empty), and, for most operators, the value to compare against. Layout elements can't be used as a source question, since they don't collect an answer.

This works alongside a template's own conditional logic: a question that only shows up under certain conditions is often connected to a section of the document that also only appears under those same conditions.

Keeping sensitive answers extra safe​

Some questions ask for information that deserves a little extra care. Things like a Social Security number, a bank account number, a passport or driver's license number, a date of birth, or a credit card number. Mark these questions Sensitive and Formaliq encrypts every answer as soon as it's submitted, so only people in your organization who are allowed to view that submission can ever see the real value. Turn it on by checking the Sensitive box in a question's Edit Field panel. Always double-check this setting before sending a form out. For the fields you'll reach for most often, Sensitive Text and Sensitive Text Area are ready-made question types with this protection already turned on.

A sensitive question works just like any other, it can be required, hidden, validated, and shown conditionally. The one difference to know: because the answer is encrypted, it won't show up in submission search results.

Repeating questions for lists​

Some forms need to collect more than one of something, such as a list of dependents, or a list of items on an order. A list question lets someone add or remove entries as needed, filling in the same small set of questions for each one. Each entry they add becomes one row in the finished document's table.

Fields that calculate themselves​

Some values do not need to be typed in by hand because they can be worked out automatically from other answers on the form, such as adding up a list of amounts to produce a total. These fields fill themselves in and update automatically as the related answers change.

For example, say your form has a list question called items, and each item in the list has its own price question. You could add one more field, orderTotal, and give it this formula instead of asking anyone to type it in:

sum(@items.price)

Every time someone adds, removes, or edits an item in the list, orderTotal recalculates itself immediately, before the form is even submitted. You can combine several fields the same way, for example @subtotal - @discount to work out a final price, or reference another field's answer directly with @fieldName. Available formulas include basic arithmetic (+, -, *, /) and the aggregate functions sum, avg, min, max, and count.

A computed Number question can also be given a display format, so the result reads naturally instead of showing a raw number:

FormatExample
Raw Number1234.5
Currency$1,234.56
Percentage12.3%
1 Decimal123.4
2 Decimals123.45
Integer123

Next steps​

Once a form is filled out and submitted, the answers become a Submission.