📄️ Forma Overview
Forma is a declarative specification format for defining dynamic forms. It combines JSON Schema for data structure with FEEL expressions for conditional logic.
📄️ Schema
The schema property defines the data structure of your form using JSON Schema. It specifies what types of data each field accepts and basic validation constraints.
📄️ Fields
The fields property defines how each form field is displayed and behaves. Each key must match a property name in your schema.
📄️ Conditional Logic
Forma uses FEEL expressions to control dynamic field behavior. Three properties control when fields are visible, required, or editable.
📄️ Computed Fields
Computed fields are values calculated automatically from form data. They update in real-time as users fill out the form.
📄️ Validation
Forma provides two levels of validation: schema-based validation from JSON Schema, and custom validation rules using FEEL expressions.
📄️ Multi-Page Forms
Forma supports multi-page wizard-style forms through the pages property. Pages help organize complex forms into manageable steps.
📄️ Reference Data
Reference data provides lookup tables and external data that can be used in computed fields and expressions. This is useful for calculations that depend on static data like tax rates, pricing tables, or conversion factors.
📄️ JSON Schema Reference
The complete Forma specification is available as a JSON Schema for validation and IDE autocompletion.
📄️ FEEL Function Reference
Forma uses FEEL (Friendly Enough Expression Language) for dynamic expressions. This page provides a complete reference of available functions and operators.