JavaScript - การตรวจสอบแบบฟอร์ม

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

JavaScript เป็นวิธีการตรวจสอบข้อมูลของแบบฟอร์มบนคอมพิวเตอร์ของลูกค้าก่อนที่จะส่งไปยังเว็บเซิร์ฟเวอร์ โดยทั่วไปการตรวจสอบแบบฟอร์มจะทำหน้าที่สองอย่าง

  • Basic Validation - ก่อนอื่นต้องตรวจสอบแบบฟอร์มเพื่อให้แน่ใจว่าได้กรอกข้อมูลในฟิลด์บังคับทั้งหมดแล้วโดยจะต้องวนซ้ำในแต่ละฟิลด์ในแบบฟอร์มและตรวจสอบข้อมูล

  • Data Format Validation- ประการที่สองข้อมูลที่ป้อนจะต้องได้รับการตรวจสอบว่ามีรูปแบบและค่าที่ถูกต้องหรือไม่ รหัสของคุณต้องมีตรรกะที่เหมาะสมเพื่อทดสอบความถูกต้องของข้อมูล

ตัวอย่าง

เราจะนำตัวอย่างเพื่อทำความเข้าใจกระบวนการตรวจสอบความถูกต้อง นี่คือรูปแบบง่ายๆในรูปแบบ html

<html>   
   <head>
      <title>Form Validation</title>      
      <script type = "text/javascript">
         <!--
            // Form validation code will come here.
         //-->
      </script>      
   </head>
   
   <body>
      <form action = "/cgi-bin/test.cgi" name = "myForm" onsubmit = "return(validate());">
         <table cellspacing = "2" cellpadding = "2" border = "1">
            
            <tr>
               <td align = "right">Name</td>
               <td><input type = "text" name = "Name" /></td>
            </tr>
            
            <tr>
               <td align = "right">EMail</td>
               <td><input type = "text" name = "EMail" /></td>
            </tr>
            
            <tr>
               <td align = "right">Zip Code</td>
               <td><input type = "text" name = "Zip" /></td>
            </tr>
            
            <tr>
               <td align = "right">Country</td>
               <td>
                  <select name = "Country">
                     <option value = "-1" selected>[choose yours]</option>
                     <option value = "1">USA</option>
                     <option value = "2">UK</option>
                     <option value = "3">INDIA</option>
                  </select>
               </td>
            </tr>
            
            <tr>
               <td align = "right"></td>
               <td><input type = "submit" value = "Submit" /></td>
            </tr>
            
         </table>
      </form>      
   </body>
</html>

เอาต์พุต

การตรวจสอบแบบฟอร์มพื้นฐาน

ขั้นแรกให้เราดูวิธีการตรวจสอบแบบฟอร์มพื้นฐาน ในแบบฟอร์มด้านบนเรากำลังโทรvalidate() เพื่อตรวจสอบข้อมูลเมื่อ onsubmitเหตุการณ์กำลังเกิดขึ้น โค้ดต่อไปนี้แสดงการใช้งานฟังก์ชัน validate () นี้

<script type = "text/javascript">
   <!--
      // Form validation code will come here.
      function validate() {
      
         if( document.myForm.Name.value == "" ) {
            alert( "Please provide your name!" );
            document.myForm.Name.focus() ;
            return false;
         }
         if( document.myForm.EMail.value == "" ) {
            alert( "Please provide your Email!" );
            document.myForm.EMail.focus() ;
            return false;
         }
         if( document.myForm.Zip.value == "" || isNaN( document.myForm.Zip.value ) ||
            document.myForm.Zip.value.length != 5 ) {
            
            alert( "Please provide a zip in the format #####." );
            document.myForm.Zip.focus() ;
            return false;
         }
         if( document.myForm.Country.value == "-1" ) {
            alert( "Please provide your country!" );
            return false;
         }
         return( true );
      }
   //-->
</script>

การตรวจสอบรูปแบบข้อมูล

ตอนนี้เราจะมาดูกันว่าเราสามารถตรวจสอบความถูกต้องของข้อมูลในแบบฟอร์มที่ป้อนก่อนส่งไปยังเว็บเซิร์ฟเวอร์

ตัวอย่างต่อไปนี้แสดงวิธีตรวจสอบที่อยู่อีเมลที่ป้อน ที่อยู่อีเมลต้องมีเครื่องหมาย "@" เป็นอย่างน้อยและมีจุด (.) นอกจากนี้ "@" จะต้องไม่เป็นอักขระตัวแรกของที่อยู่อีเมลและจุดสุดท้ายอย่างน้อยต้องเป็นอักขระหนึ่งตัวหลังเครื่องหมาย "@"

ตัวอย่าง

ลองใช้รหัสต่อไปนี้สำหรับการตรวจสอบอีเมล

<script type = "text/javascript">
   <!--
      function validateEmail() {
         var emailID = document.myForm.EMail.value;
         atpos = emailID.indexOf("@");
         dotpos = emailID.lastIndexOf(".");
         
         if (atpos < 1 || ( dotpos - atpos < 2 )) {
            alert("Please enter correct email ID")
            document.myForm.EMail.focus() ;
            return false;
         }
         return( true );
      }
   //-->
</script>