---
title: "Forms in Ed — Visual Design Studio 0.1 documentation"
description: "Ed can create and edit the files used by Spiff Arena User Task forms. Those forms are based on JSON Schema and RJSF UI Schema files."
source_url: https://spiff.works/docs/ed/forms.html
---

☰ Menu

# Forms in Ed[](#forms-in-ed "Link to this heading")

Ed can create and edit the files used by Spiff Arena User Task forms.
Those forms are based on JSON Schema and RJSF UI Schema files.

For the full list of currently documented form widgets and validations, see Spiff Arena’s [Use User Tasks and Forms](https://spiff.works/docs/spiff-arena/how_to_guides/building_diagrams/use_user_tasks_and_forms.html).

## Form File Pairing[](#form-file-pairing "Link to this heading")

A User Task form normally uses two files:

- a JSON Schema file that describes the data shape;
- a UI Schema file that controls layout, widgets, help text, and display behavior.

Keep these files paired.
If you copy a User Task, confirm the copied task points to the intended schema and UI schema before running it.

## Form Builder Views[](#form-builder-views "Link to this heading")

When editing a form, use the three form builder views together:

- JSON Schema for fields, types, required values, and validation rules.
- UI Schema for widgets, layout, help text, readonly behavior, and submit text.
- Data View for sample task data and rendered form preview behavior.

The Data View is especially useful when testing Jinja-rendered schema content.

## Dynamic Forms[](#dynamic-forms "Link to this heading")

Spiff Arena renders a User Task’s JSON Schema and UI Schema through Jinja before parsing the result as JSON.
Ed authors should prefer Jinja-rendered schema files for dynamic titles, dropdown choices, object properties, array item definitions, visibility settings, and UI options.

Use `tojson` whenever injecting strings, lists, dictionaries, booleans, or numbers into schema JSON.
The rendered result must be valid JSON.

Older process models may still use `options_from_task_data_var:...`.
Do not use that pattern for new forms.

## Common Form Enhancements[](#common-form-enhancements "Link to this heading")

Spiff Arena and Ed-authored forms can use documented RJSF enhancements such as:

- formatted number widgets;
- calculated fields;
- hidden fields from task data;
- JSON text validation;
- custom validation messages;
- date range and date comparison validation;
- typeahead widgets;
- numeric range fields;
- markdown widgets;
- custom submit button text.

## Before Finishing a Form Change[](#before-finishing-a-form-change "Link to this heading")

Run through this checklist:

- The BPMN User Task references the correct schema and UI schema files.
- The schema and UI schema use the same field names.
- Required fields render visibly unless intentionally hidden.
- Jinja templates render valid JSON with realistic task data.
- Calculated fields do not depend on each other in a cycle.
- The process runs to the User Task and accepts realistic sample input.
