Skip to content

Form fields and answer validation

Form runtime supports exactly eight field types: short_text, long_text, number, email, date, single_choice, multi_choice, and dropdown. The fieldType Action input is intentionally a free string, so this runtime list—not a guessed schema enum—is authoritative. Choice fields (single_choice, multi_choice, and dropdown) require a non-empty options array shaped like [{"optionId":"option-a","label":"Option A"}]; submitted answers store optionId, not the displayed label.

Type-specific validation uses max_length (also accepted as maxLength) for text, with defaults of 1,000 characters for short_text and 10,000 for long_text; min and max for numbers; an exact YYYY-MM-DD date; and a deliberately loose email check requiring @ and at most 320 bytes. Titles and field labels are trimmed, required, and limited to 255. The deployment default is 100 active fields per Form: too many initial create_form fields produce invalid_arguments, while add_field at the limit produces resource_conflict. Deployment limits may be configured, so typed runtime errors remain authoritative.

archive_field is a soft archive: the field disappears from active fields but remains available to revision and response history. There is no hard-delete field Action. If sortKey is omitted, the system supplies ordering; do not invent a format. For current input shapes or optional keys, consult the Action registry through arinova.action.get_schema instead of copying a full schema from this card.

arinova.form.create_form, arinova.form.get_form, arinova.form.add_field, arinova.form.update_field, arinova.form.archive_field

Also known as

field type, form validation, choice options, optionId, required question, text length, dropdown choices


Machine-readable Markdown · Knowledge index

Build a7f47a5ca54ddcf7806cd48b81ce1b9827042766