تأكيد النماذج Form Validation
تستخدم الجافاسكربت JavaScript للتأكد من صحة المعلومات في النماذج قبل ارسالها إلى السيرفر .
أنواع البيانات التي يمكن فحصها من خلال الجافاسكربت هي :
- ترك المستخدم لحقل مطلوب فارغ .
- ادخال المستخدم بريد الكتروني صحيح ام لأ.
- ادخال المستخدم لتاريخ صحيح ام لأ .
- ادخال المستخدم نص في حقل أرقام .
الحقول المطلوبة
يفحص الكود الوظيفي اذا ترك الحقل فارغاً أم لا . اذا كان الحقل فارغاً سيظهر صندوق تحذير بأن قيمة الكود الوظيفي خاطئة وبذلك لن يتم ارسال النموذج :
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
{
alert("يجب إدخال الاسم ");
return false;
}
}
سيتم استدعاء الكود عند الضغط على زر الارسال في النموذج التالي
<form dir="rtl" name="myForm" action="get" onsubmit="return validateForm()" method="post"> الاسم : <input type="text" name="fname"> <input type="submit" value="إرسال"> </form>
المثال كاملاً
function validateForm()
{
var x=document.forms["myForm"]["fname"].value;
if (x==null || x=="")
{
alert("يجب إدخال الاسم ");
return false;
}
}
<form dir="rtl" name="myForm" action="get"
onsubmit="return validateForm()" method="post">
الاسم : <input type="text" name="fname">
<input type="submit" value="إرسال">
</form>
فعالية البريد الالكتروني
يفحص الكود الوظيفي التالي عن المحتوى اذا كان يحمل تركيبة البريد ام لأ .
ذلك يعني بأن القيمة التي يجب أن تدخل يجب أن تحتوي على العلامة "@" وعلى الأقل نقطة واحدة "." وأيضاً لايجب أن تكون الإشارة "@" أول حرف في البريد الالكتروني و النقطة "." يجب أن تكون بعد الإشارة "@" مع حرفين على الأقل قبل نهاية البريد .
function validateForm()
{
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("البريد الالكتروني غير فعال");
return false;
}
}
سيتم استدعاء الكود الوظيفي من خلال النوذج التالي وعند الضغط على زر الارسال :
<form dir="rtl" name="myForm" action="get" onsubmit="return validateForm();" method="post"> البريد الالكتروني : <input type="text" name="email"> <input type="submit" value="إرسال"> </form>
مع جمع الكودين سيصبح الكود لدينا هو :
<script type="text/javascript">
function validateForm()
{
var x=document.forms["myForm"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
{
alert("البريد الالكتروني غير فعال");
return false;
}
}
</script>
<form dir="rtl" name="myForm" action="get" onsubmit="return validateForm();" method="post">
البريد الالكتروني : <input type="text" name="email">
<input type="submit" value="إرسال">
</form>