{
  "id": "nextjs/server-action-formdata-missing-field",
  "signature": "Error: Server Action failed to parse FormData: missing field '...'",
  "signature_zh": "错误：服务器操作无法解析 FormData：缺少字段 '...'",
  "regex": "Error: Server Action failed to parse FormData: missing field '.*'",
  "domain": "nextjs",
  "category": "data_error",
  "subcategory": null,
  "root_cause": "A Server Action expects a specific form field that is not present in the submitted FormData, usually due to a mismatch between the form and the action handler.",
  "root_cause_type": "generic",
  "root_cause_zh": "服务器操作期望一个特定的表单字段，但该字段在提交的 FormData 中不存在，通常是由于表单和操作处理程序不匹配。",
  "versions": [
    {
      "version": "next@14.1.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "next@14.2.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    },
    {
      "version": "next@15.0.0",
      "introduced": null,
      "deprecated": null,
      "removed": null,
      "behavior_change": null,
      "status": "active"
    }
  ],
  "os_specific": {},
  "dead_ends": [
    {
      "action": "",
      "why_fails": "This may fix the immediate error but doesn't address why the field is missing; it could hide deeper issues.",
      "fail_rate": 0.7,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "If the field is essential for the action logic, making it optional may cause undefined behavior.",
      "fail_rate": 0.85,
      "condition": "",
      "sources": []
    },
    {
      "action": "",
      "why_fails": "The action will still fail silently, and the user won't know why the form submission didn't work.",
      "fail_rate": 0.9,
      "condition": "",
      "sources": []
    }
  ],
  "workarounds": [
    {
      "action": "Ensure the form includes the missing field with the correct name attribute. Check the Server Action's expected parameters.",
      "success_rate": 0.9,
      "how": "Ensure the form includes the missing field with the correct name attribute. Check the Server Action's expected parameters.",
      "condition": "",
      "sources": []
    },
    {
      "action": "Use formData.entries() to log all fields for debugging before accessing specific fields.",
      "success_rate": 0.8,
      "how": "Use formData.entries() to log all fields for debugging before accessing specific fields.",
      "condition": "",
      "sources": []
    },
    {
      "action": "If using a client-side form library like react-hook-form, ensure the field names match and are serialized correctly.",
      "success_rate": 0.85,
      "how": "If using a client-side form library like react-hook-form, ensure the field names match and are serialized correctly.",
      "condition": "",
      "sources": []
    }
  ],
  "workarounds_zh": [
    "确保表单包含具有正确名称属性的缺失字段。检查服务器操作的预期参数。",
    "在访问特定字段之前，使用 formData.entries() 记录所有字段以进行调试。",
    "如果使用客户端表单库（如 react-hook-form），请确保字段名称匹配并正确序列化。"
  ],
  "transition_graph": {
    "leads_to": [],
    "preceded_by": [],
    "frequently_confused_with": []
  },
  "official_doc_url": "https://nextjs.org/docs/app/building-your-application/data-fetching/server-actions-and-mutations",
  "official_doc_section": null,
  "error_code": null,
  "verification_tier": "ai_generated",
  "confidence": 0.82,
  "fix_success_rate": 0.8,
  "resolvable": "true",
  "first_seen": "2024-04-10",
  "last_confirmed": "2024-06-01",
  "last_updated": "2024-06-01",
  "evidence_count": 1,
  "tags": [],
  "locale": "en",
  "aliases": []
}