---
{
  "id": "platform.form.fields-and-validation",
  "topic": "form",
  "title": "Form 欄位與答案驗證",
  "locale": "zh-TW",
  "version": "2026-07-24",
  "summary": "Form runtime 支援八種欄位，choice 類以 optionId 儲存答案，並依類型套用驗證與長度預設。",
  "content": "Form runtime 恰好支援 8 種 field types：`short_text`、`long_text`、`number`、`email`、`date`、`single_choice`、`multi_choice`、`dropdown`。Action 的 `fieldType` 刻意仍是 free string，應以 runtime 清單為準。三種 choice 類必須提供非空 options，形狀如 `[{\"optionId\":\"option-a\",\"label\":\"選項 A\"}]`；答案儲存 `optionId`，不是顯示 label。\n\n文字 validation 使用 `max_length`（也接受 `maxLength`）；`short_text` 預設最多 1,000 字元，`long_text` 預設 10,000。number 使用 `min`／`max`，date 固定 `YYYY-MM-DD`，email 是寬鬆檢查：包含 `@` 且最多 320 bytes。title 與 label 會 trim、不得空白且上限 255。每表單 active fields 部署預設為 100；`create_form` 初始欄位超量回 `invalid_arguments`，`add_field` 觸頂回 `resource_conflict`，可配置環境仍以 runtime error 為準。\n\n`archive_field` 是 soft archive：從 active fields 消失但保留 history；沒有 hard-delete field Action。省略 `sortKey` 時由系統補序，不要自行發明格式。最新參數與可選鍵請查 `arinova.action.get_schema`，不要從本卡複製完整 schema。\n",
  "aliases": [
    "欄位類型",
    "表單驗證",
    "選項",
    "必填問題",
    "文字長度",
    "下拉選單",
    "field type",
    "optionId"
  ],
  "tags": [
    "form",
    "fields",
    "validation",
    "choices"
  ],
  "relatedActions": [
    "arinova.form.create_form",
    "arinova.form.get_form",
    "arinova.form.add_field",
    "arinova.form.update_field",
    "arinova.form.archive_field"
  ],
  "relatedActionPrefixes": [],
  "url": "https://docs.arinova.ai/zh-tw/kb/form/fields-and-validation/"
}
---

Form runtime 恰好支援 8 種 field types：`short_text`、`long_text`、`number`、`email`、`date`、`single_choice`、`multi_choice`、`dropdown`。Action 的 `fieldType` 刻意仍是 free string，應以 runtime 清單為準。三種 choice 類必須提供非空 options，形狀如 `[{"optionId":"option-a","label":"選項 A"}]`；答案儲存 `optionId`，不是顯示 label。

文字 validation 使用 `max_length`（也接受 `maxLength`）；`short_text` 預設最多 1,000 字元，`long_text` 預設 10,000。number 使用 `min`／`max`，date 固定 `YYYY-MM-DD`，email 是寬鬆檢查：包含 `@` 且最多 320 bytes。title 與 label 會 trim、不得空白且上限 255。每表單 active fields 部署預設為 100；`create_form` 初始欄位超量回 `invalid_arguments`，`add_field` 觸頂回 `resource_conflict`，可配置環境仍以 runtime error 為準。

`archive_field` 是 soft archive：從 active fields 消失但保留 history；沒有 hard-delete field Action。省略 `sortKey` 時由系統補序，不要自行發明格式。最新參數與可選鍵請查 `arinova.action.get_schema`，不要從本卡複製完整 schema。
