🇯🇵 日本語 | 🇺🇸 English | 🇪🇸 Español | 🇵🇹 Português | 🇹🇭 ไทย | 🇨🇳 中文

✅ การตรวจสอบฟอร์มแบบเรียลไทม์

👇 ตัวอย่างแบบนี้ 👇

👀 สาธิตการทำงาน

<form onsubmit="event.preventDefault()">
  อีเมล:
  <input type="email" id="email" oninput="validateEmail()">
  <div class="error" id="emailError"></div>

  รหัสผ่าน (อย่างน้อย 6 ตัวอักษร):
  <input type="password" id="password" oninput="validatePassword()">
  <div class="error" id="passwordError"></div>

  <button type="submit">ส่ง</button>
</form>

<style>
  .error {
    color: red;
    font-size: 0.9em;
    margin-bottom: 1em;
  }
</style>

<script>
function validateEmail() {
  const email = document.getElementById("email").value;
  const error = document.getElementById("emailError");
  error.textContent = email.includes("@") ? "" : "รูปแบบอีเมลไม่ถูกต้อง";
}

function validatePassword() {
  const pass = document.getElementById("password").value;
  const error = document.getElementById("passwordError");
  error.textContent = pass.length >= 6 ? "" : "กรุณากรอกรหัสผ่านอย่างน้อย 6 ตัวอักษร";
}
</script>

✅ จุดประสงค์และประโยชน์ของเทมเพลตนี้

  • ตรวจสอบความถูกต้องของข้อมูลได้ทันทีขณะพิมพ์
  • ให้ประสบการณ์ผู้ใช้ที่ดีและเข้าใจง่าย
  • สามารถเพิ่มโค้ดตรวจสอบได้ง่ายด้วย JavaScript
  • โครงสร้างเข้าใจง่าย เหมาะสำหรับผู้เริ่มต้น
  • สามารถนำไปใช้ในงานจริงได้ทันที

🧩 การใช้งานจริงและการขยายผลของการตรวจสอบฟอร์มแบบเรียลไทม์

การตรวจสอบข้อมูลแบบเรียลไทม์ช่วยให้ผู้ใช้สามารถตรวจสอบความถูกต้องของข้อมูลที่กรอกได้ทันทีขณะพิมพ์ ลดความเครียดก่อนส่งฟอร์มได้อย่างมาก โดยใช้เหตุการณ์ oninput ทำให้สามารถตรวจสอบข้อมูลได้โดยไม่ต้องรีโหลดหน้า

เช่น ในฟังก์ชัน validateEmail() จะใช้ email.includes("@") เพื่อตรวจสอบว่ามีเครื่องหมาย @ หรือไม่ แม้ว่าวิธีนี้จะช่วยป้องกันข้อผิดพลาดเบื้องต้นได้ แต่การใช้ regex เพื่อตรวจสอบอย่างละเอียดจะช่วยเพิ่มความแม่นยำ

🔍 เคล็ดลับเพิ่มเติมในการตรวจสอบ

ในกรณีของรหัสผ่าน นอกจาก password.length >= 6 แล้ว การใช้ /[A-Z]/ หรือ /\d/ เพื่อตรวจสอบการมีตัวอักษรใหญ่หรือตัวเลขก็เป็นแนวทางที่ดี

การใช้ innerText สำหรับแสดงข้อความผิดพลาดจะช่วยป้องกัน HTML ถูกตีความผิด และทำให้การแสดงผลชัดเจนปลอดภัย การแสดงข้อความผิดพลาดแยกแต่ละฟิลด์คือหลักการที่ดีต่อ UX

เทมเพลตนี้เหมาะสำหรับการเริ่มต้นใช้งาน validation หากต้องการสามารถขยายเพื่อรองรับฟิลด์อื่นๆ ได้อย่างยืดหยุ่น