مجموعه خدماتی هفت آسیاب

ایجاد اعتبارسنجی در ASP

  • هفت آسیاب
  • وبلاگ
  • مقالات آموزشی
  • برنامه نویسی
  • ایجاد اعتبارسنجی در ASP
ایجاد اعتبارسنجی در ASP

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

در این مقاله قصد داریم انواع اعتبارسنجی ها را در Asp.Net Webforms معرفی کنیم و آنها را بررسی کنیم.

 

در Asp.Net Webform درواقع 6 مدل اعتبارسنجی وجود دارد :

 

  1. RequiredFieldValidator
  2. ReqularExpressionValidator
  3. CompareValidator
  4. RangeValidator
  5. CustomVlidator
  6. ValidationSummary

 

در ادامه این اعتبارسنجی ها را مورد بررسی قرار می دهیم

 

RequiredFieldValidator

این اعتبارسنجی برای این بکار می رود که اطمینان داشته باشیم کاربر فیلد مورد نظر را خالی نمی گذارد و حتما آن را پر می کند. درواقع اگر کاربر فیلد را خالی بگذارد با پیغام خطای اعتبارسنجی مواجه می شود.

 

ReqularExpressionValidator

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

 

CompareValidator

از این اعتبارسنجی برای مقایسه دو کنترل متفاوت استفاده می شود. به عنوان مثال فیلد کلمه عبور با تکرار کلمه عبور همخوانی داشته باشد.

 

RangeValidator

این اعتبارسنجی برای بررسی مقدار داخل فیلد می باشد. به عنوان مثال ممکن است در یک فیلد بخواهید یک عدد بین 50 تا 100 وارد شود و کاربر نتواند کمتر یا بیشتر از این مقدار را وارد کند. که با استفاده از خصوصیت های MaximumValue و MinimumValue این مقدار را مشخص می کنیم.

 

CustomVlidator

این اعتبارسنجی دست برنامه نویس را بیشتر باز گذاشته است. می توانید از این اعتبارسنجی در سمت کاربر یا در سمت سرور استفاده کنید. ولی برای اعتبارسنجی سمت سرور باید از زبان های اسکریپت نویسی مثل VBscript یا JavaScript کمک بگیرید

 

ValidationSummary

درواقع این اعتبارسنجی هیچگونه اعتبارسنجی انجام نمی دهد! کاربردش فقط برای نمایش و لیست کردن سایر اعتبارسنجی ها می باشد. با خصوصیت ShowSummary می توانید تمام پیغام های خطای سایر اعتبارسنجی ها را به نمایش بگذارید و با خصوصیت ShowMessageBox می توانید تمام پیغام های خطای سایر اعتبارسنجی ها را در یک پنجره مجزا نمایش دهید

 

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

 

در ادامه برخی از این خصوصیات مشترک را شرح می دهیم ؛

 

ControlToValidate

درواقع ControlToValidate یکی از خصوصیات مشترک بین اعتبارسنجی هاست که باید برابر با ID یا مشخصه کنترلی را که قرار است مقدار آن را اعتبارسنجی کند در بر می گیرد. حال این کنترل می تواند هر چیزی باشد مانند یک TextBox ساده. 
البته در نظر داشته باشید که مقدار دهی به این خصوصیت الزامیست و اگر مقداردهی نشود با خطا مواجه می شود.

 

Display

خصوصت Display را فقط با 3 محتوا می توان مقداردهی کرد.
اول None که در این حالت درصورتی که کنترل اعتبار نداشته باشد، هیچگونه پیغام خطایی به کاربر نمایش داده نمی شود. البته یک استثناء وجود دارد که در کنترل از یک اعتبارسنجی از نوع ValidationSummary استفاده شده باشد. و نکته مهم اینجاست که اگر خصوصیت Display را برابر با None بگذاریم، اعتبارسنجی انجام می شود و فقط پیغام خطایی به کاربر نمایش داده نمی شود.
دوم Static که در این حالت کنترلر اعتبارسنجی یک فضا در قالب پروژه ایجاد می کند اما قابل مشاهده نمی باشد. درست مثل اینکه یک یک باکس DIV در HTML ایجاد کنیم و Opacity آن را در Css برابر با 0 بگذاریم بصورتی که باکس فضایی را اشغال می کند اما قابل مشاهده نیست و فقط در صورتی که کاربر محتوای کنترل مورد اعتبارسنجی مثل TextBox را اشتباه وارد کند و اعتبارسنجی با خطا مواجه شود، پیغام خطا قابل مشاهده می شود.
سوم Dynamic که نقطه مقابل Static می باشد و تا زمانی که پیغام خطای اعتبارسنجی به نمایش در نیاید، هیچ فضایی را در قالب اشغال نمی کند.
توجه داشته باشید که استفاده از این حالت ممکن است عناصر موجود در صفحه را به هم بریزد، چون از آنجائیکه از قبل فضایی برایش در نظر گرفته نشده است، پس از اینکه پیغام خطا مشاهده شود یک فضا ایجاد می کند که باعث می شود سایر عناصر صفحه تغییر کنند.

 

Enabled

خصوصیت Enabled مشخص می کند که این اعتبارسنجی فعال است یا غیرفعال

 

EnabledClientScrip

خصوصیت EnabledClientScrip مشخص می کند که این اعتبارسنجی از سمت کاربر فعال است یا غیر فعال

 

ErrorMessage

در این خصوصیت می توانید متن پیغام خطا را بنویسید. مثلا : لطفا ورودی های خود را بررسی کنید!

 

ForeColor

این خصوصیت رنگ متن پیغام خطا را مشخص می کند. توجه داشته باشید که نمی توانید از کد رنگ استفاده کنید و حتما باید اسم رنگ را بنویسید. مثلا Red 

 

IsValid

خصوصیت IsValid مشخص می کند که کنترل ارجاع شده، اعتبارسنجی را رد کرده است یا نه

 

Visible

مشخص می کند که کنترل اعتبارسنجی روی صفحه نمایش داده شود یا نه

 

ValidationGroup

این خصوصیت برای جداسازی کنترل ها می باشد و گروهی از کنترل ها را مشخص می کند. به عنوان مثال ممکن است در یک صفحه چند فرم با چند Button برای ارسال فرم ها داشته باشید. باید کنترل ها یا فیلد های هر کدام از فرم ها را با Button خودشان با تمام کنترل های اعتبارسنجی مربوطه را با خصوصیت ValidationGroup جدا کنید. این خصوصیت می تواند با هر اسمی که شما انتخاب می کنید برابر باشد.

 

اگر سوالی داشتید در قسمت نظرات پاسخ داده می شود.

نظرات

ارسال نظرات

کد امنیتی