أنتوني مور
Microsoft Corporation
أكتوبر 2000
ملخص: شرح مفصل حول استخدام ASP+ للتحقق من عناصر التحكم في الويب
مقدمة
تشرح هذه المقالة بالتفصيل كيفية عمل الضوابط ASP+ التحقق. إذا كنت ترغب في إنشاء صفحة معقدة مع عناصر تحكم التحقق ، أو كنت ترغب في توسيع إطار التحقق ، يُنصح بقراءة هذه المقالة. إذا كنت ترغب في تعلم استخدام عناصر تحكم التحقق ، أو لتقرير ما إذا كنت تريد استخدام عناصر تحكم التحقق ، راجع "التحقق من إدخال المستخدم في ASP+ (الإنجليزية)".
ابدء
نحن نعلم أنه خلال عملية تطوير ASP+ ، من المهم فهم التحقق. بالنظر إلى معظم مواقع الويب التجارية اليوم ، سترى أن هناك أشكالًا متعددة في هذه المواقع التي يتم التحقق من صحتها بشكل واضح من خلال تنفيذ الكثير من التعليمات البرمجية المكتوبة بخط اليد. كتابة رمز التحقق ليس وظيفة مثيرة للاهتمام. قد يكون الأمر جذابًا إذا كنت ترغب في كتابة رمز لعرض جداول البيانات أو إنشاء مخططات أثناء الطيران ، ولكن لا يمكن لأحد أن يؤكد لزملائه أن هذا النهج "الرائع" يمكن أن يمنع القيم الفارغة في حقل الاسم.
لأسباب أخرى ، يعد التحقق من تطبيقات الويب مزعجة للغاية. يحتوي HTML 3.2 على العديد من القيود المفروضة على المحتوى الذي يمكنك التحكم فيه أو التعليقات التي يمكنك الحصول عليها من المستخدمين ، لذلك لا يمكن تطبيق تقنيات يمكن استخدامها على عملاء أكثر وظيفية ، مثل منع المستخدمين على إدخال شخصيات معينة أو صافرة. قد يؤدي استخدام البرامج النصية للمتصفح إلى تحقيق أكثر قوة. ومع ذلك ، من الصعب إثبات هذه الطريقة لأنه لا توجد بالضرورة نصوص في متصفح العميل ، ويمكن للمستخدمين الخبيثين تجاوزه. لذلك ، من أجل ضمان أمان الموقع ، من الضروري إجراء نفس الفحص على الخادم.
عند تطوير ASP+، كانت نيتنا الأصلية هي استخدام عنصر تحكم واحد فقط للتعامل مع التحقق ، والذي قد يكون عنصر تحكم في مربع النص الذي قد يعرض الأخطاء. لكن عندما كنت أقوم بتصميم السيطرة ، وجدت أنه لا يمكن تحقيق هذه الرغبة. نظرنا إلى عدد كبير من نماذج إدخال البيانات ، في محاولة لإيجاد حل يمكن أن يعمل مع أكبر عدد ممكن من النماذج. لقد وجدنا أن نماذج إدخال البيانات لها العديد من الميزات المثيرة للاهتمام:
على الرغم من أن رسائل الخطأ أو الرموز تكون في كثير من الأحيان مجاورة لعنصر الإدخال ، إلا أنها تقع دائمًا في خلايا مختلفة من الجدول.
غالبًا ما يكون هناك منطقة في الصفحة لتلخيص جميع الأخطاء.
تتضمن العديد من المواقع البرامج النصية للعملاء لتوفير ملاحظات أسرع مع منع عبث من الذهاب ذهابًا وإيابًا مع الخادم.
العديد من المواقع التي تحتوي على برامج نصية عميل عرض معلومات عند حدوث الأخطاء.
لا يقتصر الأمر على التحقق من صحة إدخال النص ، ولكن أيضًا القوائم المنسدلة وأزرار الراديو.
إذا كان الحقل فارغًا ، فسيعرض الموقع عادةً رسالة أو أيقونة مختلفة عن عندما يكون الإدخال غير صالح.
العديد من عمليات فحص الصلاحية هي بدائل جيدة للتعبيرات الشائعة الاستخدام.
يعتمد التحقق عادةً على المقارنة بين مدخلتين.
90 ٪ أو أكثر من مهام التحقق هي عمليات شائعة مثل التحقق من الأسماء أو الرموز البريدية. يبدو أن معظم المواقع لا تزال تقوم بهذه العمل مرارًا وتكرارًا.
لأن الاختلافات بين المواقع غالبًا ما تكون كبيرة جدًا بحيث لا تحصل على حل مثالي للتعامل مع جميع مهام التحقق لكل موقع.
مع مراعاة كل ما سبق في الاعتبار ، تضمن الحل النهائي خمسة عناصر تحكم المدقق ، والتحكم في مجال التحقق ، والتكامل مع كائن الصفحة. من الواضح أيضًا أن الحل يجب تمديده ، وهناك حاجة إلى واجهة برمجة التطبيقات على كل من العميل والخادم للتعاون.
لقد وجدنا من خلال مختلف عمليات التحقق التي أجريت في بحثنا ، يبدو أننا بحاجة إلى صندوق أدوات أكبر. في معظم بيئات المكونات ، مثل Microsoft® ActiveX® ، ربما حاولنا دمج جميع وظائف التحكم في التحقق في عنصر تحكم واحد ، مع التعامل مع الخصائص المختلفة في أوضاع مختلفة. ومع ذلك ، لحسن الحظ ، هناك ميراث سحري في إطار Microsoft® .NET ، والذي يوفر مجموعة من عناصر التحكم لإجراء التحقق من صحة محددة من خصائص محددة ، لأن الجهد الإضافي المطلوب لاستخلاص كل عنصر تحكم جديد صغير جدًا.
يتم تنفيذ معظم الأعمال التي تقوم بها هذه الضوابط في BaseValidator الوالدين المشتركة. يمكنك أيضًا الاستخلاص من BaseValidator أو ضوابط أخرى للقيام بكل العمل. في الواقع ، حتى BaseValidator كسول للغاية لتنفيذ خاصية النص الخاصة به ، ولكنه يرث من خاصية الملصقات.
متى وماذا حدث؟
يعد فهم تسلسل الأحداث فعالًا للغاية عند العمل مع صفحات تحتوي على ضوابط شبكة التحقق من الصحة. إذا كانت حالة التحقق اختيارية ، فيجب أن تعرف بالضبط متى يتم إجراء التحقق على العميل والخادم. إذا كنت ترغب في كتابة روتين التحقق الخاص بك ، فقد يكون مستهلكًا للوقت أو يكون له آثار جانبية. في الوقت نفسه ، من المهم أيضًا فهم توقيت استدعاء روتين التحقق.
أولاً ، دعنا نلقي نظرة على الخادم.