اعتبار سنجی کنترل ها در asp.net

چرا باید کنترل ها را اعتبار سنجی کنیم ؟
اعتبار سنجی از مهمترین قسمت های هر پروژه وب می باشد . ورودی های کاربران باید قبل از ارسالی به لایه های مختلف برنامه و انجام عملیات بر روی آنها ابتدا اعتبار سنجی و از صحت آنها مطمئن شویم و بعد به لایه های دیگر بفرستیم .
اعتبار سنجی برای کنترل ها در موارد زیر  استفاده می شود  :
- اعتبار سنجی داده های وارد شده کاربر
- بررسی فرمت تاریخ 
- بررسی صحت با Data Type
 و بررسی برای بازه مشخص


اعتبار سنجی معمولا به دو روش انجام می شود :
1- سمت کاربر یا Client Side
2- سمت سرور یا Server Side


اعتبار سنجی سمت کاربر بهتر است چون وابسته به مرورگر و زبان اسکریپتی می باشد که قابل پشتیبانی باشد .
مزیت اصلی اعتبار سنجی سمت کاربر نسبت به سمت سرور جلوگیری از شروع postback صفحه می باشد . در اعتبار سنجی سمت سرور صفحه postback شده و تا زمانی که اعتبار سنجی سمت سرور و لود صفحه به اتمام نرسد پیغام مناسب به کاربر نمایش داده نخواهد شد .
توسعه دهندگان بیشتر با اعتبار سنجی  سمت سرور راحتر هستند زیرا وابسته به مروگر و زبان اسکریپتی نیست .
برای اطمینان بیشتر شما می توانید در asp.net هم از اعتبار سنجی سمت کاربر و هم سمت سرور استفاده نمایید  با این روش شما از هر دو روش اعتبار سنجی استفاده کرده اید ، که در این حالت ابتدا اعتبار سنجی سمت کاربر بررسی و در صورت صحت اطلاعات ، در موقع پردازش اعتبار سنجی سمت سرور هم انجام می گیرد.
برای اعتبار سنجی سمت کاربر از فایل WebUIValidation.js و برای اعتبار سنجی سمت سرور از .NET استفاده می کنیم .
اعتبار سنجی کنترل های Asp.net :
از جنبه های مهم در پروژه های Asp.net web Page قادر ساختن برنامه نویس برای برسی داده های ورودی کاربر می باشد .ASP.NET امکان اعتبار سنجی کنترل ها را به ساده ترین روش در اختیار برنامه نویسان قرار داده است که در صورت نیاز می توانید به کاربر پیغام مناسب را نمایش دهید .
در زیر شش نوع از کنترل هایی که کار  اعتبار سنجی  در Asp.net را انجام می دهند وجود دارد :
1 - RequiredFieldValidation Control
2 - CompareValidator Control
3 - RangeValidator Control
4 - RegularExpressionValidator Control
5- CustomValidator Control
6 - ValidationSummary

1 - RequiredFieldValidation  :
کنترل مورد نظر حتما باید مقدار به آن نسبت داده شود 
2 - CompareValidator  :
مقایسه مقدار کنترل اول با مقدار کنترل دیگر . هر دو کنترل تعیین شده باید مقادیر یکسانی داشته باشند .
3 - RangeValidator
در این حالت دو حد پایین و بالا برای یک کنترل مشخص می شود و مقدار قرار گرفته در کنترل باید مابین این دو عدد تعریف شده باشد .
4 - RegularExpressionValidator  :
در این حالت شما می توانید یک الگو را تعیین کرده و مقدار ورودی کاربر باید از آن تبعیت کند .به طور مثال می توانید تعیین کنید که رمز وارد شده باید حداقل شش حرفی و حداقل یک کاراکتر حرف بزرگ هم داشته باشد .برای نوشتن الگو ها باید با عبارات باقاعده آشنایی داشته باشید.
5 - CustomValidator :
به شما این امکان را می دهد تا روش جدید را برای اعتبار سنجی داده ورودی اعمال کنید .
6 - ValidationSummary :
نمایش گزارشی از خطاهای رخ داده شد در رابطه با اعتبار سنجی داده های ورودی .
تمامی شش کنترل فوق در هنگام رندر شدن به تگ span تبدیل خواهند شد .


نکات مهم برای کنترل های اعتبار سنجی :
- خاصیت ControlToValidate برای تمامی کنترل های اعتبار سنجی اجباری می باشد .
- هر کنترل اعتبار سنجی قادر است یک کنترل را اعتبار سنجی کند و لی چند کنترل اعتبار سنجی می توانند به یک کنترل اشاره و داده آن کنترل را اعتبار سنجی کنند .


خاصیت های اعتبار سنجی :
کنترل های اعتبار سنجی زمانی فراخوانی و اجرا می شود که کاربر دکمه submit  و یا دکمه enter را کلیک کند 
برای اینکه چند کنترل را در یک گروه قرار دهید و با فشردن یک دکمه مشخص اعتبار سنجی انجام شود می توان از خاصیت ValidationGroup استفاده کرد . با انجام این کار تا زمانی که دکمه با ValidationGroup مشخص شده با سایر کنترل ها کلیک نشود هیچ اعتبار سنجی صورت نمی گیرد . این مورد خیلی پر کاربرد می باشد و در فرم هایی که می خواهید هر دکمه تعدادی از کنترل ها را اعتبار سنجی کند می توان از این خاصیت استفاده کرد .
Page متدی به نام ()Validate دارد در صورتی که این متد را فراخوانی کنید تمامی اعتبار سنجی هایی صفحه مورد نظر اجرا می شوند . البته این متد به دو صورت سر بار گذاری شده است می توان اسم یک گروه را به عنوان پارامتر به آن داد تا فقط گروه مورد نظر را اعتبار سنجی کند .

 protected void Page_Load(object sender, EventArgs e)
    {
        Page.Validate();
        // or  Page.Validate("Login");
    }


مثالی از RequiredFieldValidation Control :
کاربرد این کنترل برای مواردی می باشد که قصد داریم کاربر حتما مقداری را وارد یا انتخاب کند . در مثال زیر یک textbox را به منظور دریافت رمز عبور ایجاد و حتما کاربر باید مقدار را وارد کند در غیر اینصورت  پیغام مورد نظر به کاربر نمایش داده می شود :

 <asp:TextBox ID="txtPassword" TextMode="Password" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredPass" runat="server" ValidationGroup="Login" ControlToValidate="txtPassword" ErrorMessage="لطفا رمز عبور را وارد نمایید "></asp:RequiredFieldValidator>
        <asp:Button ID="Button1" runat="server" Text="ورود" ValidationGroup="Login" />

  در صورتی که مقدار txtPassword خالی باشد پیغام به کاربر نمایش داده می شود .

محتوای این صفحه به روز رسانی می شود .


توسط : عثمان رحیمی  2 ماه قبل ، سه شنبه 1 مهر 1393 ساعت 10:07  0  3304

نظر شما برای ما مهم است و به ما در بهبود سایت کمک میکند.


ارسال نظر
  • نام (اختیاری ) :
  • پست الکترونیک :
  • توضیحات :

مطالب مرتبط