مواقع الأعمال اليوم ، أو مواقع الويب الشخصية ، هناك المزيد من العملاء الذين يحققون. أعترف أن كتابة رمز مهمة ، ولكن في كل مرة تتحقق فيها من النموذج ، نأمل في تحسين كفاءة عملنا.
بناءً على بعض الأسباب الأخرى ، يصعب التحقق من إدخال المستخدم. رمز ، يجب التحقق من الخادم أيضًا لضمان السلامة.
فيما يلي موظفي Microsoft.
1. على الرغم من أن معلومات الخطأ أو الرموز تكون متاخمة غالبًا لعناصر الإدخال ، إلا أنها تقع دائمًا في خلايا مختلفة من الجدول.
2. غالبًا ما تكون هناك منطقة في الصفحة لتلخيص جميع الأخطاء.
3. تشمل العديد من المواقع برنامج نصي العميل لتوفير ملاحظات أسرع مع منع الرحلة الدائرية بين الخادم.
4. العديد من المواقع بما في ذلك مربعات معلومات عرض البرامج النصية للعميل عندما يكون هناك خطأ.
5. لن يتم التحقق من إدخال النص فحسب ، ولكن أيضًا سيتم التحقق من قائمة القائمة المنخفضة وزر الراديو.
6. إذا كان الحقل فارغًا ، فإن الموقع عادة ما يعرض معلومات أو أيقونات مختلفة عندما يكون غير صالح.
7. يمكن استبدال العديد من الفحوصات الفعالة بشكل جيد بالتعبيرات شائعة الاستخدام.
8. عادة ما يعتمد التحقق على نتائج المقارنة بين اثنين من المدخلات.
9.90 ٪ أو أكثر من 90 ٪ من مهام التحقق هي بعض العمليات الشائعة ، مثل التحقق من الأسماء أو الترميز البريدي. لا يزال يبدو أن معظم المواقع تكرر هذه المهام.
10. نظرًا لأن الفرق بين المواقع عادة ما يكون كبيرًا جدًا ، لا يمكن الحصول على حل مثالي للتعامل مع جميع مهام التحقق من كل موقع.
إذا كنت ترغب في التأكيد مع زملائك أن لديك طريقة "رائعة" للغاية ، فيمكنك حظر القيمة الفارغة في فئة الاسم.
يعالج ASP.NET التحقق من التحقق من النموذج
1. يتم تجميع ملف ASPX ، تشغيل
2. بيانات إدخال المستخدم
3. تشغيل حدث Page_Load
4. قم بتغيير سمة التحكم في الويب والمطالبة حيث لا توجد مدخلات
5. تصدير الصفحة باستخدام HTML إلى المستخدم
6. ذكّر المستخدمين بالدخول مرة أخرى
عملية page_load
تتضمن كائنات الصفحة بعض السمات والأساليب المهمة المتعلقة بالتحقق من الخادم. يسرد الجدول التالي جميع مجموعة وخصائص Page_Load.
Page_Load طريقة الاسم الوصف
Isvalid (في أغلب الأحيان المستخدمة) هي السمة الأكثر فائدة. يمكن لهذه السمة التحقق مما إذا كان النموذج بأكمله فعالًا. عادة ما يتم إجراء هذا الشيك قبل تحديث قاعدة البيانات. فقط جميع كائنات المدققين صالحة ، السمة صحيحة ، ولا يتم تخزين القيمة في ذاكرة التخزين المؤقت.
المدققين جمع جميع كائنات التحقق من هذه الصفحة. هذه مجموعة من الكائنات التي تنفذ واجهة ivalidator.
طريقة تسمى التحقق من صحة في التحقق. تتمثل طريقة التنفيذ الافتراضية في كائن الصفحة في التحول إلى كل جهاز التحقق وتتطلب من جهاز التحقق لتقييم نفسه.
تستخدم للتحقق من جهاز التحقق من النموذج (التحكم في الويب)
مطلوب FELIVERVALIDATOR ما إذا كان المستخدم قد أدخل أو يحدد أي محتوى
يقوم ContractRessedRessionValidator بالتحقق من إدخال المستخدم وفقًا للقواعد. تتيح هذه العملية استخدام العديد من أنواع الامتحانات لاستخدام أرقام الترميز البريدي وأرقام الهواتف.
يقارن CompareValidator التحكم في الإدخال بقيمة ثابتة أو تحكم في الإدخال آخر. على سبيل المثال ، يمكن استخدامه في حقول التحقق من كلمة المرور. يمكن أيضًا استخدامه لمقارنة مدخلات التواريخ والأرقام.
يشبه RangeValidator إلى حد كبير comparevalidator ، ولكن يتم استخدامه للتحقق مما إذا كان الإدخال بين اثنين أو قيم التحكم في الإدخال الأخرى
يتيح CustomValIdator للمستخدمين كتابة التعليمات البرمجية الخاصة بهم بالانضمام إلى إطار التحقق.
مثال على الوصف تشغيل عنصر التحكم الموضح أعلاه
نقوم ببناء صفحة .aspx إلى أدنى حد ، لا نحتاج إلى تأثيرات تعديل رائعة.
<p> الرجاء إدخال معرف المستخدم الجديد وكلمة المرور </p>
<form runat = server>
<griding>
<tr>
<td> معرف المستخدم </td>
<td > <type type = text runat = server id = txtname> </td>
</r>
<tr>
<td> القطبية </td>
<td> <inputy type = password runat = server id = txtpword> </td>
</r>
<tr>
<td> يرجى إعادة توصيل كلمة المرور </td>
<td > <type type = password runat = server id = txtrepword> </td>
</r>
<Tal> <br>
<نوع الإدخال = إرسال runat = معرف الخادم = cmdsubmit قيمة = إرسال>
</form>
البرنامج أمر قاسي للغاية ، لذلك يجب أن نؤكد على أن جميع العناصر مملوءة ، ويمكننا أن نفعل ذلك على هذا النحو. إضافة مطلوبة FELISTVALIDATOR أمام كل حقل. إذا كان الحقل فارغًا ، فيجب علينا عرض رقم النجم (*) أمام الحقل والإبلاغ عن خطأ بجواره.
على سبيل المثال:
<tr>
<td>
<ASP: مطلوب مصلحة Field Runat = الخادم
ControlTovalidate = txtName
errormessage = "يتطلب اسم المستخدم."
</asp: مطلوب FELISTEVALIDATOR>
</td>
<td> معرف المستخدم: </td>
<td > <type type = text runat = server id = txtname> </td>
</r>
دون إدخال أي محتوى ، يتم عرض "*" بجوار الملصق. تظهر أخبار الخطأ. تحدد سمة "ControlTovalidate" معرف التحكم المطلوب للتحقق. الخطوة الأخيرة هي عرض جميع الأخطاء في الجزء العلوي من الصفحة.
شفرة:
<ASP: REVALIDESUMMARY RUTAT = Server HeaderText = هناك أخطاء في هذه الصفحة:/>
بعد ذلك ، يجب أن يكون معرف المستخدم من 6 إلى 10 أحرف ، ويجب أن تكون كلمة المرور من 4 إلى 12 أحرفًا ، ويجب أن تحتوي على@#$ ٪^&*/أحرف.
الرمز: هنا أضفنا قيودًا على طول الهوية.
<td>
<type type = text runat = server id = txtName>
أقل
ControlTovalidate = "TxtName"
errormesage = "يجب أن تتكون Wanlets من 6-10 أحرف."
ValidationSxpression = "[A-ZA-Z] {6،10}" />
</td>
بعد ذلك ، يتعين علينا التحقق مما إذا كانت كلمة المرور لمدخلتين هي نفسها.
<asp: prativexpressionvalidator runat = display server = Dynamic
ControlTovalidate = "txtpword"
errormessage = "يجب أن تحتوي كلمة المرور على واحدة من@#$ ٪^&*/."
ValidationExpression = ".*[@#$ ٪^&*//201.*" />
<asp: prativexpressionvalidator runat = display server = Dynamic
ControlTovalidate = "txtpword"
errormessage = "يجب أن تكون كلمة المرور من 4-12 رسائل غير بنية."
ValidationSxpression = "[ /s {4،12}" />
<ASP: CompareValidator Runat = Server
ControlTovalidate = txtrepord
ControlTocompare = txtpword
errormessage = "كلمة المرور لا تتطابق."
بشكل افتراضي ، تتم مقارنة CompareValidator مع مطابقة السلسلة البسيطة. إذا لزم الأمر ، يمكن أن تقوم بإجراء مقارنات أكثر تعقيدًا تتضمن التاريخ والأرقام.
العديد من القضايا التي تحتاج إلى الاهتمام
حول مكتبة السيناريو
نظرًا لأن التحقق من البرنامج النصي للتحكم في الويب موجود في مكتبة البرنامج النصي ، فإن الكود الذي تم التحقق منه من قبل جميع العملاء ليس ضروريًا لإرساله مباشرة إلى الصفحة ، على الرغم من أنه يبدو أنه يتم على السطح. تشبه مراجع ملف البرنامج النصي الرئيسي ما يلي:
<script language = "javaScript" src = "/_ ASPX/1.0.9999/script/webuivalidation.js"> </script>
بشكل افتراضي ، سيتم تثبيت ملف البرنامج النصي في دليل الجذر الافتراضي في دليل "_aspx" ، ويستخدم البرنامج النصي الجذور نسبيًا يتضمن تعليمات للاتصال ، والذي يبدأ بمنحدر إيجابي. يوضح المرجع أن كل كائن فردي لا يحتاج إلى تضمين مكتبة البرنامج النصي ، ويمكن لجميع الصفحات على نفس الكمبيوتر الرجوع إلى نفس الملف. ستلاحظ أن هناك أيضًا رقم إصدار لغة عامة في هذا المسار ، بحيث يمكن تشغيل إصدارات وقت التشغيل المختلفة على نفس الكمبيوتر.
إذا نظرت إلى دليل الجذر الافتراضي الخاص بك ، فستجد الملف وعرض المحتوى. يتم تحديد موضع هذه الملفات في ملف config.web. ملف config.web هو ملف XML لمعظم إعدادات ASP+. فيما يلي تعريف الموضع في هذا الملف:
<WebControls
clientscriptslocation = "/_ aspx/{0}/script/"
/>
شجعك على قراءة البرنامج النصي حتى تتمكن من فهم الأحداث التي تحدث بعمق. ومع ذلك ، يوصى بعدم تعديل هذه البرامج النصية ، لأن وظائفها مرتبطة ارتباطًا وثيقًا بإصدارات وقت تشغيل محددة. عند تحديث الإصدار ، قد تحتاج أيضًا إلى تحديث البرامج النصية وفقًا لذلك. إذا كان يجب تغيير مشاريع محددة ، فقم أولاً بالنسخ الاحتياطي لهذه البرامج النصية ، ثم قم بإشارة مشروعك إلى ملف النسخ الاحتياطي ، فإن الطريقة هي استخدام ملف config.web خاص لاستبدال موضع هذه الملفات. إذا كانت السلسلة تحتوي على تعليمة التنسيق "{0}" ، فسيحل رقم الإصدار محل التعليمات عند التشغيل. من الأفضل تغيير هذا الموقف إلى مرجع نسبي أو إشارة مطلقة. مرحبًا بك لزيارة تطوير الويب لعشاق الويب.