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>