المستخدم بعملية التحقق من البيانات قبل حفظها فى قاعدة
البيانات حتى نتجنب المشاكل فيما بعد.
من المفضل أن تتم عملية التحقق على جهاز المستخدم ©11604-5:0 عن طريق أكواد جافا
سكريبت( 15©:104) حيث يتم إخبار المستخدم مباشرة بالخطأ قبل أن يتم عمل ال 16م17054138
خطا في الصفحة.
لكن عملية التحقق لا يجب أن نكتفى بأن تقوم فى ال ©11201-510 فقط ..تخيل معى أن
مستخدم الصفحة التى يجب أن نتحقق من البيانات عليها قبل حفظها لديه خلفية عن الويب
01 8[الخاص بعميلة التحقق واستخدمها فيما بعد لإرسال بيانات مخالفة وخاطئة.هنا وجب
وقوع عملية التحقق فى السيرفر دانما. «وتئد0ت1781 ع51761-510
طبعا كتابة أكواد التحقق يدويا أمر متعب سواء كانت أكواد جافا سكريبت أم أكواد 4517.111717/
تضعها على الصفحة وتربطها بالأداة التى تريد إجراء التحقق عليها.
بشكل افتراضى.. واذا منع المستخدم متصفحة من تنفيذ أكواد الجافا سكريبت سيكون التحقق
: ملمعصف س«متتمفتله 17
محموعة من الأدوات توجد فى التبويب (ا18 17811088010 فى صندوق الأداوات <1001130
وعددها ستة أدوات . تستخدم للتحقق من مدخلات المستخدم كالتحقق من ان لا يترك الحقل
فارغا .أو ان تكون القيمة عدد صحيح أو حتى اكبر من
قيمة الاين فشلت العملية فإنها تمنع الصفحة من عمل :10501301 وتظهر رسالة خطأ
على أداة.
--الأداة : «100له 18000101761017 تتحقق أن أداة معينه تحتوى على قيمة عند عمل
*120078©170110810 تتحقق من أن القيمة التى تحملها الأداة تقع فى مدى معين
: «2110210 ©2017 --تتحقق من أن القيمة التى تحملها الادة أكبر من ..أصغر من
..تساوى ..أكبر من وتساوى .. أصغر من وتساوى... قيمة ثابته تحددها أنت أو حتى قيمة
تحملها أداة أخرى .. كما يمكنها أن تتأكد من أن الأداة تحمل نوع معين من البيانات أعداد
: «منم اله 3هةكه»1017<0:ج»18 --تتحقق من ان القيمة التى تحملها الأداة تتبع
:11080 5101© --تتيح لك إمكانية كتابة أكواد التحقق يدويا على السيرفر بواسطة
أكواد 517.10171, وحتى على جهاز المستخدم بواسطة أكواد.. 15©:104 وتلجأ لها فى حالة
: 25 «<«ن1100110«5ه 1 --هذه الأداة ليست للتحقق من شىء معين ولكن يعرض عليها
ملخص لكل عمليات التحقق الفاشلة.
يجدر الإشارة إلى إمكانية استخدام أكثر من أداة تحقق على أداة واحدة ..وكما ستعلم لاحقا أنك
لو استخدمت الاداة «150840ه/1 ©1888 مثلا مع <070::©: فإن عملية التحقق ستنجح لو كان
ال «1:0«»؛فارغا لأنه ببساطة لا توجد بيانات للتحقق منها.. وهنا تظهر الحاجة الى استخدام
الأداة «00نله 18601©:©0171©107 مع نفس صندوق النص للتأكد من عدم تركه فارغا.
لاحظ ان أكثر الأدوات التى تستخدم أدوات التحقق معها هى الأداة.. «2100»») كما انه يمكنك
أن تستخدمها مع 117010100101.154 وحتى 10041 ولاحظ فى حالة الأداتين
5 1«001017«1و 4< 011(««]وامثالها تتم عملية التحقق على الخاصية 8106 على
عكس ال «8«1100والتى تتم عملية التحقق فيه على الخاصية .. 8«ع: لذلك إن حاولت
إستخدام ادوات التحقق على 17001720730:1.154 مثلا لا تنسى أن تعطى قيمة للخاصية
©10 لكل عنصر من عناصرها..
لاحظ أيضا أنه لايمكنك استخدام أدوات التحقق مع (1601ن18801013 أي «مثلتا»6© وهذا
عملية التحقق: قوة102 صمتتملثلة ١ ع1
يمكنك ان تقيم عملية التحقق بطريقتين طريقة اوتوماتيكية حيث تتم عملية التحقق عند الضغط
00 هله 7 05©5ه©تساوى (©1770 حيث أنه عند الضغط على أى زر فإنه تتم أولا
مراجعة القيمة المسندة للخاصية 000158178108160 فإذا كانت ©1015 تعمل الصفحة وكأنه
لا توجد أدوات تحقق عليها واذا كانت مم يتم التحقق من الأدوات على النموذج اذا حدث اى
خطأ تظهر الرسائل للمستخدم.
لاحظ أن العمليات الأوتوماتيكية تعتمد على وقوع حدث النقر لزر له الخاصية
كحدث 0»ع:76:101:00 لصندوق نص مثلا وهنا يمكنك الإعتماد على التحقق بطريقة يدوية
وكتابة أكواد بناء على النواتج.
بعد المقدمة التى تعرفنا فيها على أهمية التحقق من مدخلات المستخدم ..وتعرفنا أيضا على
وظيفة كل أداة من تلك الأدوات بشىء من الإيجاز الشديد ........ دعنا نتعمق.
على الأعضاء المشتركة لجميع الأدوات وبدراستها نوفر الكثير من التكرار..
الخصيصة:/ا18م015 :تحدد كيف ستظهر رسالة الخطأ للمستخدم ولها ثلاث وضعيات
+ : ©5180وفى هذه الحالة سيتم حساب الفراغ اللازم لرسالة الخطا وحجزة بحث تظهر
الأدوات التى بجانبها لكن بعد تعدى القراغ الأزم لها
٠ : ©7804 1فى هذه الحالة لن يتم عبور الجسر قبل الوصول إليه (مش هنقدر البلاء
قبل وقوعه) بمعنى انه لن يتم حجز المساحة اللازمة لرسالة الخطأ ..لوكن عند
وقوعها سيتم إزاحة الأدوات التى بجانبها بالمقدار اللازم لطول الرسالة. ربما تبدو هذه
الوضعية مناسبة ..لكن احذر منها خاصة اذا كانت صفحتك مملوءة بجداول أو أدوات
٠ : ©100افى هذه الحالة لن تظهر رسالة خطا أصلا ولكن سيتم إيقاف الصفحة من
عمل !! :17051821 يعنى ستقوم الأداة بوظائفها من إيقاف الصفحة من عمل
©0510 وغييرها ولكن دون ظهور رسالة للمستخدم. وهذا عند التعامل مع
الأداة «:ه1««<ه71100010«5الإظهار الأخطاء كلها جملة واحدة.
--الخصيصة : 11:81:10 لتحدد إذا كانت الادة ستقوم بعملها كأداة تحقق أم أنها لن تعمل
وتأخذ قيمة من اثنتين 1:06 أو. 156ه1
--الخصيصة : ع11:1701116558 تحدد فيها الرسالة التى ستظهر للمستخدم فى الأداة.
110011005207 فى حالة فشل عملية التحقق .. وتقبل قيمة نصية. ع :50:11
--الخصيصة : :»176 وتحدد فيها رسالة الخطأ التى ستظر للمستخدم على أداة التحقق نفسها
فى حالة فشل عملية التحقق.
لاحظ الفرق بين الخصيصتين 16:1 وزع ة1177-0111655)
--الطريقة (الوظيفة :()15178110)) تستخدم بشكل أساسى فى الكواليس للتحقق من كون
تجعلها ميكروسوف .. ()1701©1100 171384 هل أخطأت ميكروسوفت؟!
أكيد لم تخطئ ميكروسوفت ..تابع معى:
اذا كان لديك صفحة ويب تقوم بضرب القيمة فى صندوق النص فى العدد 10 وإظهار الناتج فى
أداة .. 1.0161 هنا يجب التحقق من أن المستخدم يدخل قيم رقمية وإلا سيظهر خطأ أثناء
الوقت التشغيل 1800706 إذا ادخل قيمة نصية . فإذا أدخل المستخدم قيمة نصية وضغط
على الزروكان التحقق فى جهة المستخدم «0ة17811081 ©1104-510) متاح فلن يسمح
المتصفح للمستخدم بعمل :054181( لتنفيذ الكود فى حدث النقر للزر. أما اذا كان التحقق فى
جهة المستخدم غير متاح فإن الادة وللأسف ستسمح للزر بعمل :0541181 وللأسف سيتم
تنفيذ كود الضرب الموجود فى الزر مع اظهار رسالة الخطأ (ما فائدتها إذا..(! لذلك وبما أنك لا
تضمن أن يكون التحقق فى جهة المستخدم متاح ستعتمد على التحقق فى جهة السيرفر وستقع
فى المشكلة السابقة .. لذلك عليك أولا وقبل كتابة الكود الخاص بعملية الضرب أن تتحقق إذا
كانت عملية التحقق التى تقوم بها الادة نجحت أم فشلت . لذلك ستختبر القيمة التى تعمود بها
لذلك سيكون كود حدث النقر للزر يشبه التالى:
فى الحالات المشابهة :لن تختبر القيمة التى تعود بها الوظيفة 5178110]() لكل أداة على حدى
لذلك ستستخدم الوظيفة 15778110() للصفحة والتى تعود بالقيمة نم اذا لم يكن هناك أى
عملية تحقق على الصفحة فاشلة وتعود بالقيمة ©2015 اذا كانت هنا على الأقل أداة تحقق فشلت
عملية التحقق بها.
الخصائص التى ليس لها علاقة مباشرة بأدوات التحقق ولكن لها علاقة بالأدوات بشكل عام .
لذلك سنناقشها فى النهاية مع بعض الأشياء الأخرى تحت عنوان ((اللمسة الجمالية.))
هى ابسط الأدوات تتحقق من أن الأداة التى ترتبط بها ليست فارغة أو تحتوى على مسافات
تفشل اذا ادخل المستخدم نفس البيانات اللتى حددتها انت فى الخاصية عن1ه 101010116 وتنجح
العملية اذا ادخل اى قيمة أخرى أو حتى ترك الحق فارغ.
</ "مسملا "10 "وو" حتمسيد حمظنت 1 :بكم
عسوم ذا مسدا <" متسمسية "حرام كط
<بمتستله االلمطل عسو :وكد/>.
حيث ستظهر هذه الجملة '"0ىتب< كز ع1«0و]' فى الأداة اذا عمل المستخدم تددطاته5
للفورم ولم يدخل قيمة فى صندوق النص.. عستهت1
وترى هذا المثال واضحا عند التسجيل فى المنتديات مثلا.. حيث حقل إسم المستخدم مثلا لا
يجب أن يترك فارغا .
تتحقق من أن القيمة التى تحملها الادة المرتبطة بها تقع بين مدى معين.
--الخصيصة 1:06 والتى تحدد نوع البيانات التى ستتحقق الأداة من وقوعها بين مدى معين
--الخصيصة ع10ه 1170100070177 تحدد أقل قيمة صالحة للبيانات داخل الأداة المرتبطة بها
--الخصيصة ع210 1107171011711 تحدد أقصى قيمة صالحة للبيانات داخل الأداة المرتبطة
بهاء
غ001 جور 1 1001:0107" حعا فق تله 0001011017 |
حيث تتحقق الأداة من أن التاريخ المدخل الى الحقل 1783017 يقع فى المدى من ٠ اغسطس
08 إلى 20 اغسطس ٠٠١8 وإلا يظهر رسالة تدل على ان التاريخ غير مقبول ولا يقع
ضمن المدى.
ثالث الأداة: «رئ مونلد توه درسم
تتحقق هذه الأداة من كون البيانات التى تحملها الأداة المرتبطة بها أكبر من ..أصغر من
..تساوى ..أكبر من وتساوى .. أصغر من وتساوى... قيمة ثابته تحددها أنت أو حتى قيمة
تحملها أداة أخرى .. كما تتأكد من أن الأداة تحمل نوع معين من البيانات أعداد صحيحة مثلا.
وتستخدم عند التسجيل فى المنتديات للتحقق من ان حقل كلمة المرور وحقل التحقق من كلمة
المرور يحملان نفس القيمة .... وايضا للتحقق من أن تاريخ الميلاد أقل من تاريخ التسجيل!!
--كما فى أختها :188180778110810 116 لها الخصيصة 1708 والتى تحدد نوع البيانات
التى ستتحقق الأداة من ادخالها فى الحقل.. كما تحدد نوع البيانات التى ستتم مقارنتها
يا حبيبى.. قد تتساءل لم نحدد نوع البايانات فإذا أردنا أن نتحقق مثلا من أن القيمة فى صندوق
النص ١ أكبر من القيمة في صندوق النص ١ ولم نحدد نوع البيانات فى الخصيصة 9156
سنحصل على نفس النتيجة.
جرب معى تطبيق فيه صندوقين نص وأداة «01090©170110040) لها الخصائص التالية
عاد :565000500510
ناه:005تاهةنادل
تلاحظ فى الصورة أننا تركنا الخاصية 1706 لها القيمة ج8431 مع أننا سنقارن ارقام
تذكر أن الهدف من تطبيقنا هو التحقق من أن القيمة فى صندوق النص ؟ أكبر من القيمة فى
صندوق النص .١
الآن نفذ مشروعك واكتب فى صندوق النص الأول القيمة "9" وصندوق النص الثانى القيمة
8" الآن سيظهر خطأ على الأداة لأن القيمة فى الصندوق الثانى أقل من القيمة فى الصندوق
ماذا تتوقع ؟ 1
تتوقع ظهور رسالة خطأ على الأداة .. تفكيرك منطقى وسليم ولكن سيحدث عكس هذا ..حيث
سيعبر التحقق بسلام ولن تظهر أى مشكلة..
السبب هو أنك حددت القيمة ج:501 للخاصية 0ع للأداة حيث ستعامل أداة التحقق القيم فى
صناديق النصوص على انها حروف فستقراً أداة التحقق القيم من اليسار وتقارن قيمة بقية
وستجد أن التسعة كبر من الواح فتعير أن اقيمة فى الصندوق الى أبر منها فى الصندوق
لذا احذر وتعامل مع الخاصية 06+ وانت تعلم قيمتها ومن يعلم اذا كنت فى المثال السابق
تتعامل مع عملات ..
التى تحملها الأداة المرتبطة بهاء
--الخصيصة :201010701100017 والتى ستحدد الأداة التى ستتم مقارنة قيمتها بالقيمة
وتستخدم واحدة منهما فقط
--الخصيصة «00©:010 والتى تحدد نوع المقارنة بين القيمتين وممكن تكون
القيمة :1م©:1240110©01 لهذه الخصيصة تجبر الأداة على التحقق اذا كان نوع البيانات
ع لا براقي بج الات الي ف
التحقق
18 حصمم 1000 عسلد 1 "ديه "حتفتل 001101101
قله معز 18 أكمعا م عن اأكتصسد نده لا "جوع فدئت 11170111
ل لتر مزالو الات توي
مثال آخر:
"معي 'حتمسي «تمنمل تله اعمت 1م : بركة >
1255010 'جمتر 0110110010 ''125513:0102''حعتملئلة 011011017
يتحقق من أن القيمة التى يحملها صندوق كلمة المرور الأول يساوى صندوق كلمة المرور
هذه الأداة تعد أقوى الأدقات حيث تسمج لك بالتحقق من ان البيانات التى تحملها أداة معينه
تتبع صيغة معينه بريد إلكترونى أو عنوان موقع .11181 أو رقم تليفون وغيره.
بالرغم من انه يمكنها أن تتأكد أن المدخل هو ,11181 أى انها تبدأ ب 1117117وينهى ب «:00.
مثلا إلا أنه لم يدعم البحث عن هذا العنوان على الانترنت والتحقق إذا كان موجود أم لا.
من أهم خصائصها الخصيصة::178110230117<(:»5510 ولها العديد من القيم مثل
كما يمكنك أن تكتب التعبير يدويا عن طريق .. تابع الصورة...
ا س1 امات ماوع 01ب :13و16
موعائفة اقمع 106108
فى صندوق النص الموضع بالصورة السابقة اكتب التعبير المطلوب.. ماذا ستكتب؟.
ستكتب رموز تعبير بها عن التعبير المطلوب تسمى هذه الرموز 266:5 116600011878 تزاها
بشكل مفصل فى هذه الروابط ..حيث أنها علم آخر ليس هذا مجالها.
لو عملية التحقق المطلوبة تحتاج مرونة أكبر وإمكانيات اكبر من التى تتيحها لك الأداوت
السابقة(كان تريد أن تتحقق أن القيمة المخلة هى سنة كبيسة مثلا.. جوع 3 دزوع.1 فى هذه
التحقق ستعود الطريقة ()1517810 والخاصة بالفورم بالقيمة ع17015 وتظهر رسالة خطأ على
الاداة مثل أى أداة أخرى.
لإجراء عملية التحقق على جهاز المستخدم عليك كتابة الأكواد بواسطة 1508 وللأسف لم
ولإجراء عملية التحقق على السيرفر نأخذ المثال التالى .. حيث نريد أن نتحقق من أن القيمة
التى يحملها صندوق النص المسمى 10680(©8# يحمل رقم سنة كبيسة.
سنكتب أكوادنا فى الحدث 811081 60171_5©13©1«1 005101011721108 لأداة التحقق حيث
نختبر القيمة التى تحملها الأداة المرتبطه بها عن طريق فحص القيمة فى الخاصية
©85.810««فإذا كانت تقبل القسمة على ؛ بدون باقى ستجعل الخاصية 85.1518110 817
تساوى 208 وتمر عملية التحقق بسلام.
واذا لم تكن تقبل القسمة على 4 تكون السنة غير كبيسة ونسند القيمة م1015 للخاصة
0+« وسيظهر الخطأ على أداة التحقق وكذلك ستعود الطريقة 0 1518150. 1886
الكود للحدث ©507©:17011086 لأداة التحقق سيكون مثل التالى:
106 - فثلة 17 ف1كقئه
تحقق بل هى أداة لنظهر عليها كل عمليات التحقق الفاشلة فى مكان واحد وبشكل محدد.
خامسا الأداة: [و001 صمسدس 5صونادلناد 5
معينة للتحقق من شىء ما ! وبدلا من ذلك فإنها تظهر ملخص لكل الأخطاء التى حدثت على
الصفحة . حيث يظهر عليها القيم الموجودة فى الخاصية 6ع11+17071/18558 لجميع الأدوات
«متاعع 510111658 لها القيمة. عير
ويمكنك التعامل مع الإسلوبين أو التعامل مع إسلوب واحد فقط.
لو كان الاسلوب الثانى إحدى خياراتك : فيمكنك أن تختار الشكل الذى ستعرض به الأداة عن
طريق :الخاصية : 115018311006 والتى يمكنها أن تكون ددرو تموعه "م5:01 أى 1156
يمكنك أيضا ان تحدد عنوان للأدة عن طريق الخاصية . أ« 1:ع11600
468086161 للأداة
الرسائل التى تظهر هنا هى قيم الخاصية 5:70:81655898
10م 1 م عط عدا ماه اممابدوماكا 21 560
لهجا
نرى فى الصورة ظهور رسالة الخطأ على كلا من اداة التحقق نفسها وكذلك الأداة
واذا اردنا ان تظهر الرسائل على الأداة (:ه«:««1721100430150 فقط.. نجعل الخاصية
115018لأدوات التحقق الموجودة على الصفحة تساوى. ع:101
الآن انتهينا من الأدوات وتبقى بعض المواضيع المتفرقة
مثل جميع الأدوات الأخرى التى تعمل على السيرفر يمكننا التعامل مع ادوات التحقق عن طريق
الكود وتعديل خصائصها .. يمكنك أن تصل إلى جميع أدوات التحقق على الصفحة عن طريق
ال 00116008 السمى 1781100408 داخل الفئة عجن فمثلا هذا الكود يوقف عمل جميع
أدوات التحقق الموجودة على الصفحة:
عكلة 1 - 0ع1ط 11.150
بفرض : أنه لديك صفحة فيها صندوقى نص وأداتى تحقق وتريد أن تجعل خلفية صندوق
النص الذى فشلت فيه عملية التحقق هى اللون الأحمر مثلا ..كل شىء بالكود..
أولا لابد أن يكون هناك زر أمر على الصفحة ولكن دعنا نجع الخاصية دروته0ثله1156517و
وبالتالى لن ينفذ الكود فى حدث النقر وهذا غير مطلوب.
0عتففتلة 116.1
- امات كه أل ساط
فى السطر الأول : جعلنا الصفحة تتحقق من الأدوات الموجودة عليها.
فى السطر الثانى : نبحث عن جميع أدوات التحقق الموجودة على الصفحة ويشير المتغير 81
فى السطر الثالث : نختبر القيمة التى تعود بها الوظيفة
()15778110الخاصة بكل أداة على الصفحة فإذا كانت عملية التحقق فاشلة أى أن الوظيفة تعود
فى السطر الرابع: عرفت متغير بالإسم :3 من النوع «16<1130 وبعد العلامة "-" استخدم
كود مركب شوية .. تابع معى:
الوظيفة 1710000001 الخاصة بالصفحة م1788 تأخذ بارمتر عبارة عن الإسم البرمجى (11
لأى أداة موجودة بالصفحة وتعود بكائن من نوع 001001 وهو عبارة عن الأداة الموجودة
على الصفحة والتى تحمل نفس الإسم الذى مررته إليها .وبما أنها تعود بكائن من نوع
00101)أى أنه ليس محدد .. استعملنا المعامل 16 لتحويل الكائن من النوع
0:01 )إلى 7:10 وهكذا اسندناه إلى المتغير 1 والذى له النوع <680330 ايضا.الآن
فى السطر الخامس : غيرنا لون الخلفية للأدة ؟ والتى بدورها تغير لون الخلفية لصندوق
فى الصفحات المعقدة والكبيرة.. ربما تجد نفسك تريد أن تقوم بكل عملية تحقق لمجموعة من
كمثال على ذلك .. تريد إنشاء صفحة تحتوى على أداوت لتسجيل الدخول للموقع :1.081 وفى
نفس الصفحة أدوات للتسجيل فى الموقع..
عملية تحقق .. فكيف تتصرف؟؟!
كل مجموعة من صناديق النصوص وزر ال )ن««0ان» فى أداة 1ه« مثلا.. لن يجدى هذا نفعا
.. ولكن التقسيم يكون عن طريق الخاصية 78150810102000 لكلا من الزر ومجموعة
تسجيل الدخول للموقع مثلا تكون الخاصية 7081102106700 لها تساوى «نع10 ومجموة
الأداوت الخاصة بالتسجيل فى الموقع لها الخاصية 0د17811081000 تساوى ع< مثلا
الآن لو وضعت زر ؤص««ان» له الخاصية 17011020670 فارغة هل سيترتب على
ضغطة إجراء عملية تحقق لجميع الأدوات على الصفحة بغض النظر عن
للأسف ذهب بك هذ التفكير بعيدا .. فهذا الزر لن يترتب على ضغطة إلا إجراء التحقق للأدوات
وبناء على السطر السابق ربما تقول .. لو قسمت الأدوات على الصفحة إلى ««0تئه0ثله 17
77/5 وضعت على الصفحة زر أن(«<ان؟ لا يتبع 172110210116700 محدد سيتم
عمل 0051:0821 للصفحة بنجاح وكأنه لا توجد أدوات تحقق على الصفحة أصلا ..وهذا
بالتأكيد غير مطلوب.
كلامك صحيح تماما.. ولحل مشكلة مشابهة يكون الحل بإحدى الطريقتين التاليتين:.