field typesmatrix

Matrix

A grid of radio buttons or dropdowns for rating multiple items on the same scale.

Overview

The Matrix field renders a fixed-row grid. Row labels come from `matrixRows`; each column is defined in `matrixColumnDefs` with the same types and settings as table columns (text, rating, date, select, media, etc.).

Submission maps each row key to an object of column values, e.g. row_0: col_id → value.

Properties

PropertyTypeDefaultDescription
labelstringHuman-readable label shown above the field or step heading.
requiredbooleanfalseWhen true, the form cannot submit without a value.
isHiddenbooleanfalseHides the field from respondents (may still store defaults).
isDisabledbooleanfalseRenders the field read-only.
instructionstringundefinedHelp text shown below the label (not the same as placeholder).
matrixRowsstring[][]Row labels for the matrix grid.
columnsMatrixCol[][]Array of { label, value } objects for the scale options.
requireAllbooleanfalseRequire all rows to be answered before submission.

JSON Schema

{
  "id": "service_eval",
  "type": "matrix",
  "label": "Service Evaluation",
  "required": true,
  "matrixRows": [
    "Speed of service",
    "Staff friendliness",
    "Value for money",
    "Overall satisfaction"
  ],
  "matrixColumnDefs": [
    { "id": "score", "label": "Score", "type": "rating", "ratingMax": 5, "required": true },
    { "id": "notes", "label": "Notes", "type": "text" }
  ]
}

Common Use Cases

  • Course or workshop evaluations across several quality dimensions
  • 360° feedback forms rating leadership competencies on one scale
  • Product comparisons where each feature row maps to satisfaction columns
  • Compliance checklists requiring a Likert response per policy area
  • Event debriefs measuring venue, catering, programming, and logistics together