افتراضيًا، تقوم عناصر التحكم في التحقق من صحة ASP.NET بإجراء التحقق تلقائيًا عند إعادة نشر الصفحة إلى الخادم، بعد تهيئة الصفحة (أي بعد معالجة حالة العرض وبيانات إعادة النشر)، وقبل استدعاء تعليمات برمجية لمعالجة الأحداث. إذا كان المستعرض يدعم البرمجة النصية من جانب العميل، فيمكن لعنصر التحكم أيضًا إجراء التحقق من الصحة في المستعرض.
ومع ذلك، في بعض الأحيان قد تحتاج إلى إجراء التحقق من الصحة برمجياً. قد تحتاج إلى التحقق برمجيًا في المواقف التالية:
·إذا لم يتم تعيين قيمة التحقق من الصحة في وقت التشغيل. على سبيل المثال، إذا كنت تستخدم عنصر تحكم RangeValidator، فقد ترغب في تعيين خصائص الحد الأدنى والقيمة القصوى الخاصة به في وقت التشغيل استنادًا إلى القيمة التي أدخلها المستخدم. التحقق من الصحة الافتراضي لا يعمل في هذا الوقت بسبب عدم وجود معلومات كافية في عنصر التحكم RangeValidator عندما تستدعي الصفحة عنصر تحكم التحقق من الصحة لإجراء التحقق من الصحة.
·الحاجة إلى تحديد صلاحية عنصر التحكم (أو الصفحة بأكملها) في معالج الأحداث Page_Load. أثناء مرحلة معالجة الصفحة، لم يتم بعد استدعاء عنصر تحكم التحقق من الصحة، لذلك لم يتم تعيين خاصية IsValid للصفحة أو عناصر التحكم الفردية. (إذا حاولت الحصول على قيمة هذه الخاصية، فسيتم طرح استثناء.) ولكن إذا كنت تريد تحديد الصلاحية، فيمكنك استدعاء التحقق من الصحة برمجيًا.
· أنت تقوم بتحرير عنصر تحكم (إما عنصر تحكم الإدخال أو عنصر تحكم التحقق من الصحة) في وقت التشغيل.
والأكثر شيوعًا هو أنه يمكنك التحقق برمجيًا في أي وقت تريده، مما يمنحك تحكمًا أكثر دقة عند إجراء التحقق.
استدعاء أسلوب التحقق من صحة عنصر التحكم التحقق من الصحة.
يقوم عنصر التحكم بإجراء عمليات التحقق ويقوم بتعيين الخاصية IsValid لعنصر التحكم والصفحة. إذا تم اكتشاف خطأ، فسيتم عرض رسالة الخطأ كالمعتاد عند إرجاع الصفحة إلى المستخدم.
يوضح المثال التالي من التعليمات البرمجية كيفية تعيين الخصائص برمجياً. في هذه الحالة، تقوم صفحة ويب ASP.NET بحجز غرفة في أحد المنتجعات، مما يوفر حرية السفر من وإلى كل زيارة. يجب على المستخدمين إدخال تواريخ الوصول والمغادرة ومن ثم التخطيط لجدولهم الزمني أثناء الزيارة. يتم استخدام عنصر التحكم RangeValidator للتأكد من قيام المستخدم بإدخال تنسيق تاريخ نموذجي وأن تاريخ السفر يجب أن يكون بين تاريخي الوصول والمغادرة.
الوصف: يطرح عنصر تحكم المدقق استثناءً إذا تعذر تحويل القيمة التي أدخلها المستخدم إلى تاريخ. للتوضيح، هذا المثال لا يتضمن معالجة الأخطاء.
تأتي تواريخ الوصول والمغادرة من عنصري تحكم خادم TextBox Web الموجودين على الصفحة، txtArrival وtxtDeparture. يتم إدخال تاريخ السفر في عنصر التحكم TextBox الثالث، txtTourDate، والذي يتم التحقق من صحته بواسطة عنصر التحكم RangeValidator.
ملاحظة: عند التحقق من الصحة برمجيًا، يجب تعطيل البرمجة النصية من جانب العميل بحيث لا يعرض عنصر التحكم رسائل خطأ غير صحيحة قبل تنفيذ رمز التحقق من جانب الخادم.
باطلة خاصة Button1_Click(مرسل الكائن، System.EventArgs e)
{
RangeValidator1.MinimumValue = txtArrival.Text;
RangeValidator1.MaximumValue = txtDeparture.Text;
RangeValidator1.Type = ValidationDataType.Date;
RangeValidator1.Validate();
إذا (!RangeValidator1.IsValid)
{
RangeValidator1.ErrorMessage = "يجب أن يكون تاريخ الجولة" +
"يقع بين تاريخي الوصول والمغادرة.";
}
}
هذه المقالة مأخوذة من مدونة CSDN، يرجى الإشارة إلى المصدر عند إعادة الطباعة:
http://blog.csdn.net/dodream/archive/2009/12/17/5024666.aspx