کنترلهای اعتبارسنجی در ASP.NET

سامان

در زمان ساخت برنامه های کاربردی مبتنی بر وب، اهمیت دارد که مطمئن شوید وارد کردن داده ها توسط کاربر به درستی انجام می شود. این کار از طریق اعتبار سنجی انجام می شود که یک مقدار را در برابر شرطی خاص بررسی و در صورت عدم تحقق آن شرط اعلام خطا می کند. در صفحات ASP.NET، اعتبار سنجی از طریق استفاده از کنترلهای اعتبارسنجی سمت سرور تضمین می شود. این کنترلها مقدار یک کنترل ورودی دیگر را برای چند نوع شرط خطا بررسی می کنند و در صورت تحقق شرط، شرحی از مساله را نمایش می دهند.

در ASP.NET می توان کنترلهای اعتبارسنجی را تقریبا به همه کنترلهای ورودی صفحه که کنترلهای سرویس دهنده HTML و یا کنترلهای سرویس دهنده فرم وب هستند اضافه کرد. به یک کنترل ورودی خاص می توان بیش از یک نوع کنترل اعتبارسنجی تخصیص داد تا اعتبارسنجی با معیارهای مختلف امکان پذیر شود. زمانی که صفحه ASP.NET دارای کنترلهای اعتبارسنجی، اجرا می شود مقادیر کنترلهای ورودی تحت تاثیر کنترلهای اعتبارسنجی، همان طور که در کنترلهای اعتبارسنجی تعیین شده است، براساس منطق مربوطه پردازش می شوند. به محض سنجش اعتبار کل منطق، خصوصیات کنترلهای اعتبارسنجی، برحسب نتیجه اعتبارسنجی، True یا False می شوند.

بعد از پردازش همه کنترلهای اعتبارسنجی، خود صفحه براساس مقادیر خصوصیات اعتبارسنجی کنترلها یک خصوصیت تعیین می کند. اگر یکی از کنترلها در اعتبارسنجی شکست بخورد، خصوصیت صفحه به طور خودکار خصوصیت اعتبارسنجی را False می کند. بعد از بررسی خصوصیت صفحه و دریافت یک نتیجه اعتبارسنجی ناموفق، معمولا صفحه به کاربر برگردانده می شود و پیامهای خطای نسبت داده شده به کنترلهای اعتبارسنجی ناموفق نمایش داده می شوند.

معمولا کنترل ورودی روی صفحه برای هر نوع شرط خطائی که قصد بررسی آن را دارید یک کنترل اعتبارسنجی دریافت می کند. مثلا اگر بخواهید مطمئن شوید که یک فیلد مقداری در خود دارد و آن مقدار کمتر از ۱۰ ولی بیشتر از ۵ است، از یک کنترل اعتبارسنجی برای بررسی وارد شدن مقدار و کنترلی دیگر برای بررسی آن مقدار در برابر مجموعه ای از مقادیر قابل قبول استفاده می کنید.

انواع کنترلهای اعتبارسنجی

ASP.NET شش نوع کنترل اعتبارسنجی دارد:

  • RequiredFieldValidator
  • ReqularExpressionValidator
  • CompareValidator
  • RangeValidator
  • CustomVlidator
  • ValidationSummary

همه این کنترلها از مجموعه خصوصیات و متدهای مشترکی برخوردارند. بیشتر آنها از کلاس BaseValidator و کلاس WebControl در فضانام System.UI.WebControls و کلاس Control در فضانام System.Web.UI به ارث گرفته شده اند. استثنای این قاعده خصوصیت Text است که از کلاس Label به ارث می رسد.

این کنترلها دارای خصوصیات مشترکی می باشند که برخی از پرکاربردترین آنها به شرح زیر است.

  • ControlToValidate: عبارت است از مشخصه یا ID کنترلی مانند TextBox یا غیره که قرار است مقدار ورودی آن توسط این کنترل، اعتبارسنجی شود. مقداردهی این خصوصیت الزامی است.
  • Display: رفتار نمایشگر کنترل اعتبارسنجی را مشخص می کند. سه تنظیم آن عبارتند از: – None: در این حالت و در صورت عدم اعتبار مقدار کنترل مورد اعتبارسنجی، هیچ پیغام خطائی از سوی کنترل اعتبارسنجی برروی صفحه نمایش داده نمی شود مگر آنکه این کنترل با یک کنترل اعتبارسنجی خلاصه یا ValidationSummary بکار رفته باشد. نکته حائز اهمیت این است که این کنترل همچنان وظیفه اعتبارسنجی خود را انجام می دهد و تنها پیغام خطای خود را نمایش نمی دهد. – Static: در این حالت کنترل اعتبارسنجی قسمتی از صفحه ای را که در آن قرار دارد را جهت نمایش پیغام خطای خود از ابتدا اشغال می کند. به این ترتیب، زمانی که پیام خطا به نمایش در می آید، محل هیچ یک از عناصر موجود در صفحه تغییر داده نمی شود زیرا کنترل اعتبارسنجی از قبل بخشی از صفحه بوده است. – Dynamic: در این حالت برعکس حالت Static، کنترل اعتبارسنجی جائی را اشغال نمی کند و تنها زمانی که پیغام خطا را نمایش می دهد جائی را اشغال می کند. این مساله سبب می شود تا به احتمال زیاد محل برخی عناصر در صفحه تغییرکند.
  • Enabled: مشخص می کند که آیا کنترل اعتبارسنجی فعال است یا خیر.
  • EnabledClientScrip: مشخص می کند که آیا اعتبارسنجی سمت کاربر فعال است یا خیر.
  • ErrorMessage: متن پیام خطا را مشخص می کند.
  • ForeColor: رنگ متن پیام خطای اعتبارسنجی را مشخص می کند.
  • IsValid: مشخص می کند که آیا کنترل ارجاع شده اعتبارسنجی را گذرانده است یا خیر.
  • Visible: مشخص می کند که آیا کنترل اعتبارسنجی باید روی صفحه نشان داده شود.
4
اشتراک گذاری
سامان
سامان

فارغ التحصیل کارشناسی نرم افزار، علاقه مند به برنامه نویسی، طراحی وب، تکنولوژی های نوین، یادگیری و فیلم

پاسخ دهید