عام

أدوات التحقق ( Validation Controls )

من المميزات الرائعة التي قدمتها ASP.NET لمطوري المواقع
هي أدوات التحقق

لذلك دعنا نرى ما هي هذه الأدوات وما هي الفائدة منها ؟

الكثير منا يقوم على سبيل المثال بالتسجيل في المنتديات وتكون البيانات المدخلة تتبع
شروط معينة فعند إدخال البيانات يتم التحقق منها  ويتم ظهور رسالة
تفيد بوجوب تغيير حقل معين في حال عدم تطابقه لشرط معين كمطابقة كلمة السر في مربع
النص الأول مع تأكيده في مربع النص الثاني

فالتحقق هي قواعد يتم تطبيقها على البيانات المدخلة من قبل المستخدم

 

وقد قدمت لنا ال ASP.NET خمس أنواع
من أدوات التحقق التي تتميز كل منها بوظيفة معينة تختلف عن غيرها والتي وفرت الوقت
الكثير لمطوري المواقع فباستخدامها لا تحتاج إلى كتابة سطر برمجي واحد بعكس لغات الويب
الأخرى المختلفة التي تطلب برمجة عمليات التحقق باختلاف أنواعها ووظائفها

x
وسنقوم باستعراض كل نوع على حدة بشكل مفصل وأول
نوع فيها هو:

  • RequiredFieldValidator

وهذه الأداة مهمتها التأكد من أن المستخدم قام بإدخال قيمة في المكان المراد أو لا

ولتوضيح ذلك سنعطي مثالا

وهو بعمل جدول من سطرين وعمودين ووضع مربع نص وزر وأداة التحقق RequiredFieldValidator
بالشكل التالي مع إعطاء اسم الأداة التي سيتم إجراء التحقق عليه لخاصية
ControlToValidate التابعة لأداة التحقق والتي ستكون هنا
TextBox1 وأيضا إدخال النص الذي تريده في خاصية ErrorMessage
وهي رسالة الخطأ التي تظهر للمستخدم في حال لم يدخل قيمة في مربع النص مع ترك خاصية
Text فارغة  :

بعد ذلك قم بتنفيذ الصفحة وتجربة الحالتين : الأولى بإدخال قيمة في مربع النص والضغط
على الزر وفي هذه الحالة لن تظهر رسالة الخطأ والثانية بترك مربع النص فارغ والضغط
على الزر وفي هذه الحالة تظهر رسالة الخطأ تعلمك بوجوب إدخال قيمة معينة

وأريد أن أقوم بالتنبيه على أمر مهم ألا وهو التأكد من أن خاصية CausesValidation
التابعة للزر تأخذ القيمة True وذلك لإنجاز عملية التحقق عند
الضغط على الزر

  • النوع الثاني من أدوات التحقق وهو:
    CompareValidator

وهذه الأداة مهمتها المقارنة بين قيمتين إما من خلال المقارنة بين قيمة مدخلة في
مربع نص وقيمة مدخلة في مربع نص آخر أو بمقارنة قيمة مدخلة في مربع نص مع قيمة ثابتة

وأيضا سنعطي مثالا كسابقتها لتوضيح الفكرة وطريقة استخدامها

وهنا سنقوم بتوضيح الفكرة الأولى وهي بمقارنة قيمة مدخلة في مربع النص الأول مع قيمة
مدخلة في مربع النص الثاني

وسيكون ذلك بعمل جدول من 3 سطور وعمودين وإضافة مربعين نص وزر وأداة التحقق
CompareValidator بالشكل التالي :

ويلزمنا الاهتمام بالخصائص التالية التابعة لأداة التحقق :

ControlToValidate: وتحتوي اسم الأداة التي سيتم التحقق من البيانات
المدخلة به

ControlToCompare: وتحتوي اسم الأداة التي سيتم مقارنته مع الأداة الآخر
والذي تم تحديده في الخاصية السابقة

ErrorMessage: وتحتوي على رسالة الخطأ التي ستظهر للمستخدم في حال اختل
شرط التحقق

Operator: وهي لتحديد العملية التي على أساسها سيتم التحقق بين القيمتين
إما بالتساوي أو غيرها

Type: وهي لتحديد نوع البيانات المدخلة التي سيتم التحقق منها إما أعداد
صحيحة أو نص أو غيرها

ولتوضيح الفكرة الثانية وهي بمقارنة قيمة مدخلة في مربع نص مع قيمة ثابتة وذلك بإضافة
مربع نص واحد وزر وأداة التحقق وسنهتم بنفس خصائص أداة التحقق التي تم ذكرها عند توضيح
الفكرة الأولى مع فارق بسيط وهو أننا هنا لن نهتم بالخاصية ControlToCompare
ولكن اهتمامنا سينصب على الخاصية ValueToCompare والتي من خلالها
سيتم إدخال القيمة الثابتة بناء على نوع البيانات الذي قمت بتحديده في الخاصية
Type

بعدها قم بالتجربة والتنفيذ ورؤية النتائج بنفسك

  • النوع الثالث من أدوات التحقق هو :
    RangeValidator

وهذه الأداة مهمتها التحقق من أن القيمة المدخلة واقعة تحت مدى معين

لنعطي مثالا لتوضيح الفكرة : سنقوم بإضافة مربع نص وزر وأداة التحقق بالشكل التالي

والاهتمام بالخصائص التالية لها وهي :

ControlToValidate و ErrorMessage و
Type: وتم شرحها سابقا ويلزمنا هنا أيضا خاصية
MaximumValue وهي لتحديد القيمة القصوى التي لا يمكن أن يتعداها المستخدم
عند إدخال قيمة معينة في مربع النص وخاصية MinimumValue وهي
لتحديد القيمة الدنيا التي يجب أن يلتزم المستخدم بالبدء منها عند تحديده للقيمة المدخلة
في مربع النص

  • النوع الرابع من أدوات التحقق هو:
    RegularExpressionValidator

وهذه الأداة مهمتها التأكد من صحة صياغة أو شكل القيمة المدخلة يعني على سبيل المثال
مربع النص الخاص بالبريد الإلكتروني ، فنحن نعلم أن البريد الإلكتروني يتبع صيغة ثابتة
في الكتابة لا يمكن تغييرها ولمنع المستخدم من كتابة أي نص عشوائي في خانة البريد الإلكتروني
والتزامه بالصيغة المعروفة له يتم استخدام أداة التحقق هذه ولتوضيح ذلك ، سنضع مربع
نص وزر وأداة التحقق وتحديد الصيغة الثابتة التي سيتم التحقق من خلالها من الخاصية
ValidationExpression بالإضافة إلى خاصية ControlToValidate
و ErrorMessage والتي تم شرحها في أدوات التحقق السابقة

  • النوع الخامس والأخير من أدوات التحقق هو:
    CustomValidator

لنفترض أننا نريد التحقق من أن القيمة المدخلة تقبل القسمة على العدد 5
، هنا لا نستطيع استخدام أيا من أدوات التحقق السابقة لأن لا أحد منها
يقدم هذه الخدمة ، لذلك لغة ال ASP.Net أضافت
هذه الأداة لإتاحة الفرصة أمام مطور المواقع بالتحقق من خلال الأمر الذي يريده والتي
لا توفرها أيا من أدوات التحقق الأخرى ولكن يتطلب هنا استخدام
Jscript أو VBScript
لكتابة الدالة التي من خلالها سيتم التحقق ولنطبق مثالا لتوضيح الفكرة:

في البداية أضف مربع نص وزر وأداة التحقق إلى صفحة الويب وبعدها في صفحة السورس أضف
الكود التالي بين بداية ونهاية head tag


<script
language=JavaScript>


function validateNumber(oSrc, args) {


args.IsValid = (args.Value % 5 == 0);


}


</script>

وبعدها نعطي اسم الدالة لخاصية ClientValidationFunction
التابعة لأداة التحقق وبعدها تستطيع تنفيذ الأمر

  • وإذا كنت قد جربت جميع الأمثلة السابقة على
    نفس صفحة الويب ، فلابد أنك لاحظت أمرا غريبا ألا وهو في حال عدم إدخال قيمة معينة
    للأداة الخاص يإحدى أدوات التحقق الأربعة والتي تبدأ من الأداة الثانية فإن رسالة الخطأ
    الخاصة بأداة RequiredFieldValidator ستظهر والسبب أن تلك الأدوات
    لا تعمل مع القيم الفارغة فهي لا تعتبرها قيما ولحل هذا الأمر وجد ما يسمى
    بال validationGroup
    وهي تعني وضع كل عدة كونترولز مع بعضها في مجموعة ويكون بإعطاء نفس اسم المجموعة للخاصية
    validationGroup لكل الأداةز التي ستتبع تلك المجموعة
  • وأيضا لإظهار جميع رسائل الخطأ الموجودة في
    الصفحة في مكان واحد يتم استخدام الأداة validationSummery ويتم
    اعطاء قيمة لخاصية التكست التابعة للكونترولز التي سيجرى عليها عملية التحقق ولتكن
    * وبعدها قم بالتنفيذ بالشكل التالي :

ويمكنك أيضا إظهار رسائل الخطأ في صندوق حوار وذلك بإعطاء الخاصية showSummery
القيمة False بينما يتم إعطاء الخاصية showMessageBox
القيمة True بالشكل التالي:

بعد استعراض أدوات التحقق، هل رأيت مدى سهولة استخدامها والوقت الذي توفره، أرأيت
البراعة التي تمتلكها شركة مايكروسوفت في توفير كل ما يريح مطورو المواقع فهي لا تنسى
أي أمر يعد مهما في تطوير المواقع.

About the author

خليل سليم

Leave a Comment

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.