تقوم عناصر التحكم في التحقق من الصحة باختبار إدخال المستخدم وتعيين حالات الخطأ وإنشاء رسائل خطأ. وهي لا تغير تدفق معالجة الصفحة، على سبيل المثال، لا تتخطى التعليمات البرمجية عند اكتشاف خطأ في إدخال المستخدم. بدلاً من ذلك، ستختبر حالة عنصر التحكم في التعليمات البرمجية قبل تنفيذ المنطق المحدد لتطبيقك. إذا تم اكتشاف خطأ، فلن يتم تشغيل التعليمات البرمجية الخاصة بك؛ وستستمر الصفحة في المعالجة وستتم إعادتها إلى المستخدم مع رسالة خطأ.
ملاحظة أمنية: بشكل افتراضي، تتحقق صفحات ويب ASP.NET تلقائيًا مما إذا كان المستخدم الضار يحاول إرسال برنامج نصي أو عناصر HTML إلى التطبيق الخاص بك.
يمكنك اختبار الحالة العامة على مستوى الصفحة، ويمكنك اختبار حالة عناصر التحكم الفردية. عادةً ما تقوم بذلك في معالج الأحداث الذي تقوم بإنشائه للصفحة.
1. اختبار حالة الخطأ الشائع
في التعليمات البرمجية الخاصة بك، قم باختبار خاصية IsValid الخاصة بالصفحة. ستقوم هذه الخاصية بتجميع قيمة خاصية IsValid لجميع عناصر التحكم في التحقق من الصحة على الصفحة (باستخدام AND المنطقية). إذا تم تعيين أي عنصر تحكم في التحقق على أنه غير صالح، فسترجع خاصية الصفحة خطأ.
الوصف: معلومات المصادقة غير متاحة أثناء مرحلة التهيئة أو التحميل للصفحة. ومع ذلك، يمكنك استدعاء أسلوب التحقق من الصحة يدويًا أثناء Page_Load ثم اختبار خاصية IsValid الخاصة بالصفحة.
يوضح مثال التعليمات البرمجية التالي معالج حدث لزر. يقوم هذا الرمز باختبار خاصية IsValid الخاصة بالصفحة. لاحظ أنه ليست هناك حاجة إلى أي عبارات أخرى هنا لأن الصفحة ستعود تلقائيًا إلى المتصفح وسيعرض عنصر التحكم في التحقق من الصحة رسالة الخطأ الخاصة به.
باطلة Button1_Click (مرسل الكائن، System.EventArgs e)
{
إذا (صالح)
{
// قم بإجراء تحديثات قاعدة البيانات أو أي منطق آخر هنا.
}
}
2. اختبر حالة الخطأ لعناصر التحكم الفردية
اعمل من خلال مجموعة أدوات التحقق من الصحة الخاصة بالصفحة، والتي تحتوي على مراجع لجميع عناصر التحكم في التحقق من الصحة. يمكنك بعد ذلك التحقق من الخاصية IsValid لكل عنصر تحكم التحقق من الصحة.
ملاحظة: إذا كنت تريد إجراء هذا الفحص أثناء Page_Load، فيجب عليك أولاً استدعاء أسلوب التحقق يدويًا.
يوضح المثال التالي من التعليمات البرمجية كيفية الحصول على حالة عنصر تحكم التحقق من الصحة واحد.
إذا (this.IsPostBack)
{
this.Validate();
إذا (! this.IsValid)
{
سلسلة رسالة = ""؛
// قم بالمرور عبر جميع عناصر التحكم في التحقق من الصحة لمعرفة أي منها
// تم إنشاء الأخطاء.
foreach (IValidator aValidator في هذا.Validators)
{
إذا (!aValidator.IsValid)
{
msg += "<br />" + aValidator.ErrorMessage;
}
}
Label1.Text = msg;
}
}
تأتي هذه المقالة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة: http://blog.csdn.net/dodream/archive/2009/12/17/5024643.aspx.
-