@osforms/react support 12 field types: text inputs, choices, scale and rating, and display-only statements.
These fields only apply to forms rendered from a schema (the dashboard
Builder tab or
@osforms/react). A plain HTML form can post any inputs;
each input’s name becomes a key in the submission.Text inputs
text
Single-line text input.tel
Phone number input. No format enforcement: it accepts any string unless you add apattern.
url
URL input. Validated with the browser’s URL parser, so it needs a scheme (https://example.com, not example.com).
number
Numeric input withmin / max validation. The value is submitted as a string (for example "42").
textarea
Multi-line text input. Defaults to 4 rows in classic mode and 3 in conversational mode.Choice
select
Dropdown single-select (a native<select>). Advances immediately on selection in conversational mode.
radio
Single choice from a visible list of options. Auto-advances in conversational mode.checkbox
Multi-select option list. Submitted as an array of selected values.Scale and rating
rating
Star rating, 1 to 5 by default. Auto-advances in conversational mode.scale
NPS-style numeric scale, 1 to 10 by default. Auto-advances in conversational mode.Display
statement
Display-only text. No input is collected. Use it for instructions or notices. Only thedescription is shown; label is used in the builder to identify the block.
Not supported yet
The schema type also listsdate, file, and divider. They aren’t in the builder and @osforms/react doesn’t render them, so don’t use them yet. File uploads aren’t stored by the submission endpoint either.
Common field properties
Validation reference
minLength/maxLength suit text inputs and min/max suit number, scale and rating, but the validator applies whichever rules you set to any field.