DevToolPal
ไทย
4xx ข้อผิดพลาดฝั่งไคลเอนต์

422 Unprocessable Content

ไม่สามารถประมวลผลเนื้อหาได้

ความหมาย

คำขอมีรูปแบบถูกต้องแต่มีข้อผิดพลาดเชิงความหมาย เซิร์ฟเวอร์จึงประมวลผลไม่ได้ เดิมชื่อ Unprocessable Entity

สาเหตุที่พบบ่อย

  • การตรวจสอบข้อมูลล้มเหลว (อีเมลไม่ถูกต้อง ขาดฟิลด์บังคับ)
  • ละเมิดกฎทางธุรกิจ
  • ข้อผิดพลาดการตรวจสอบของ Rails หรือ Laravel

วิธีแก้ไข

สำหรับไคลเอนต์หรือผู้เยี่ยมชม

อ่านข้อผิดพลาดของแต่ละฟิลด์ใน body แก้ค่าให้ถูกต้องแล้วส่งใหม่

สำหรับผู้ดูแลเว็บไซต์หรือ API

คืนข้อผิดพลาดรายฟิลด์ที่เครื่องอ่านได้ เพื่อให้ฟอร์มไฮไลต์ได้

ตัวอย่างการตอบกลับ

HTTP/1.1
HTTP/1.1 422 Unprocessable Content
Date: Tue, 07 Oct 2025 09:30:00 GMT
Server: nginx
Content-Type: application/problem+json

{
  "type": "about:blank",
  "title": "Unprocessable Content",
  "status": 422,
  "errors": [
    {
      "field": "email",
      "message": "must be a valid email address"
    }
  ]
}

ข้อกำหนด

RFC 9110 §15.5.21

คำถามที่พบบ่อย

› ข้อผิดพลาดการตรวจสอบควรใช้ 400 หรือ 422

หลาย API ใช้ 422 สำหรับการตรวจสอบ และ 400 สำหรับข้อมูลที่ parse ไม่ได้ ถูกต้องทั้งคู่ ขอให้ใช้อย่างสม่ำเสมอ

› 422 ใช้เฉพาะ WebDAV หรือเปล่า

เริ่มจาก WebDAV แต่ตอนนี้ RFC 9110 กำหนดให้ใช้กับ HTTP ทั่วไป