spacer
 
به سایت شرکت هوشمند گستر جم اصفهان - بخش آموزش خوش آمدید 1
  1
1
1
header
جلسه پنجم : اعتبار سنجی فرم ها

 

 فريمورک دات نت ، شامل مجموعه ای از کنترل های لازم بمنظور بررسی اعتبار و صحت  داده های ورودی است که با استفاده از آنان در  فرم های وب و ASP.NET  ، می توان  داده  ورودی توسط  کاربر در هر يک از  فيلدهای موجود بر روی يک فرم وب را بررسی و در صورت عدم رعايت شرايط لازم ، پيام خطاء مناسبی را ارائه نمود.

 

 

             Validation Server Controls

 

Requierd Field Validator

Range Validator

Compare Validator  

RegularExpression Validator

ValidationSummary

 

 

فایل های این جلسه را download کنید .

 

   

کنترل های سرويس دهنده اعتبار داده  ، امکان بررسی صحت داده  مرتبط با يک کنترل سرويس دهنده ورودی نظير يک TextBox را فراهم و در صورتيکه ماحصل بررسی بعمل آمده ، مثبت نباشد ، يک پيام خطاء نمايش داده خواهد شد. هر يک از کنترل های اعتبار داده ، عمليات خاصی را در ارتباط با بررسی صحت داده ها انجام خواهند داد . مثلا" می توان با استفاده از CompareValidator ، عمليات بررسی صحت داده ها را در ارتباط با يک مقدار خاص  انجام و يا با استفاده از کنترل RangeValidator  يک  محدوده قابل قبول از مقادير مورد نظر در ارتباط با يک فيلد ورود اطلاعات  را انجام داد. در چنين مواردی ، حتی می توان با استفادده از کنترل CustomValidator ، شرايط خاص مورد نظر خود برای بررسی صحت داده ، تعريف و ايجاد نمود. با توجه به اينکه ، پيام خطاء در کنترل اعتبار داده نمايش داده می شود، می توان مکان مورد نظر برای نمايش پيام خطاء را نيز مشخص کرد . در اين راستا ، همچنين می توان با استفاده از کنترل ValidationSummery  ، خلاصه ای از نتايج تمامی کنترل های بررسی صحت داده ها را نمايش داد .

عمليات بررسی صحت داده در يک صفحه زمانی محقق خواهد شد که يک کنترل Button نظير Button,ImageButton و يا LinkButton کليک گردد . در اين رابطه می توان با مقدار دهی False به خصلت CausesValidation ، باعث ممانعت در رابطه با بررسی صحت داده گرديد . روش فوق ، در مواردی نظير فشردن يک دکمه Cancel و يا Clear استفاده می گردد ( در چنين مواردی عملا" ما قصد بررسی صحت داده را نخواهيم داشت ) . مقدار خصلت فوق ، بصورت پيش فرض در ارتباط با يک Button  از نوع Cancel  و يا Clear مقدار False در نظر گرفته خواهد شد .

 

 

 

اعتبار سنجی فرم در سمت کلاینت در مقابل اعتبار سنجی در سرور     

 

Validation Server Control

توضیحات

RequiredFieldValidator

از خالی بودن یک کنترل جلوگیری می کند

CompareValidator

بین مقادیر وارد شده توسط کاربر و مقادیر مجازی که توسط برنامه نویس تعیین شده مقایسه ی انجام می دهد(با استفاده از عملگرهای مقایسه ای)

RangeValidator

چک می کند که مقداری که کاربر وارد کرده است بین مقادیر مشخص شده توسط برنامه نویس باید

RegularExpressionValidator

چک می کند که مقداری که کابر وارد کرده است با یک عبارت منظم ()تطابق دارد یا خیر

CustomValidator

می توان با استفاده از این کنترل از جاوا اسکریپت برای اعتبار سنجی ورودی ها استفاده کنیم

ValidationSummary

تمام پیغام های خطای رخ داده را در یک مکان در کنار یکدیگر نمایش می دهد

 

 

   

RequiredFieldValidator .

کنترل فوق ، مقدار يک کنترل ورودی را بمنظور حصول اطمينان از درج داده در فيلد مورد نظر توسط کاربر ، بررسی می نمايد . در صورتيکه مقدار مشخص شده در فيلد مورد نظر نسبت به مقدار اوليه خود تغيير نکرده باشد ،بمنزله عدم صحت و اعتبار داده بوده و نشان دهنده اين موضوع است که کاربر در فيلد مربوطه داده مورد نظر را وارد ننموده است . در حقيقت در چنين شرايطی الزامی برای درج داده در ارتباط با يک کنترل ورودی بوجود آمده و کاربر نمی تواند فيلد مربوطه را بدون اعمال تغييرات ( درج داده ) رها نموده و نسبت به آن بی تفاوت باشد . مقدار پيش فرض، يک رشته خالی ( "" ) بوده  و نشاندهنده اين واقعيت است که می بايست مقداری در آن درج تا در آزمون بررسی صحت داده موفقيت حاصل گردد . در اين رابطه فضاء خالی اضافه شده در ابتدا و انتهای کنترل ورودی حذف و در ادامه عمليات بررسی صحت داده انجام خواهد شد . بدين ترتيب از درج فضای خالی در کنترل ورودی برای بررسی صحت داده ممانعت بعمل می آيد . در برخی موارد لازم است که در مقابل مقدار پيش فرض (رشته خالی) برای يک کنترل ورودی از مقدار اوليه مورد نظر خود استفاده نمائيم ( با توجه به سياست های طراحی بخش رابط کاربر ) . استفاده از روش فوق ، در مواردیکه دارای يک مقدار پيش فرض در ارتباط با يک کنترل ورودی بوده و قصد داريم که کاربر را ملزم به انتخاب يک مقدار ديگر نمائيم ، توصيه می گردد . مثلا" می توان از يک کنترل ListBox بهمراه يک Entry انتخاب شده بصورت پيش فرض که شامل دستورالعمل هائی برای کاربر بمنظور انتخاب يک آيتم از ليست است ، استفاده نمود . در چنين مواردی لازم است که کاربر يک آيتم ديگر موجود در ليست را از طريق کنترل انتخاب  و در اين رابطه نمی بايست کاربر آيتمی را انتخاب نمايد که شامل دستورالعمل است . بدين ترتيب در صورتيکه کاربر همان مقدار اوليه پيش فرض را انتخاب نمايد ، کنترل RequiredFieldValidator ، پيام خطاء مورد نظر خود را نمايش خواهد داد . بمنظور مشخص نمودن مقدار اوليه يک کنترل ورودی، می توان از خصلت InitialValue استفاده کرد.

با توجه به سياست های طراحی رابط کاربر ، می توان از چندين Validator  در ارتباط با يک کنترل ورودی مشابه و يکسان استفاده نمود. مثلا"  می توان از يک کنترل  RequiredFieldValidator ، بمنظور حصول اطمينان از درج داده در کنترل مورد نظر استفاده و در همان حال از کنترل ديگری نظير RangeValidator نيز استفاده تا اين اطمينان ايجاد گردد که ورودی درج شده در کنترل مورد نظر در محدوده قابل قبول و مجاز می باشد .

 

کنترل ValidationSummary .

کنترل فوق ، امکان ارائه اطلاعات مختصر در رابطه با تمامی کنترل های بررسی صحت داده موجود در يک صفحه وب و در يک موفقعيت ( مکان ) را فراهم می نمايد. خلاصه  اطلاعات موردنظر را می توان با استفاده از روش های متفاوتی نظير : يک پاراگراف ، يک ليست و يا يک Bulleted list . ارائه نمود. نحوه نمايش اطلاعات با استفاده از خصلت DisplayMode مشخص خواهد شد .پيام خطاء نمايش داده شده در کنترل ValidationSummary برای هر يک از کنترل های بررسی صحت داده موجود در صفحه ، توسط خصلت ErrorMessage مربوط به هر يک از کنترل ها ، مشخص می گردد . در صورتيکه خصلت ErrorMessage مربوط به کنترل بررسی صحت داده ، مقداردهی نگردد، هيچگونه پيام خطائی در ارتباط با آن کنترل خاص توسط کنترل ValidationSummary نمايش داده نخواهد شد. برای مشخص نمودن عنوان گزارش خطاء، می توان از خصلت HeaderText استفاده کرد. بمنظور کنترل نمايش اطلاعات کنترل ValidationSummary ، می توان از خصلت ShowSummary استفاده نمود . برای نمايش خلاصه اطلاعات مورد نظر در يک Message Box می توان مقدار خصلت ShowMessageBox را True در نظر گرفت .

 

کنترل RegularExpressinoValidator .

کنترل فوق ، بمنظور تطبيق داده ورودی در يک کنترل ورودی با يک الگوی تعريف شده توسط يک عبارت ، استفاده می گردد . کنترل فوق ، امکان بررسی لازم در خصوص دنباله کاراکترهای مورد انتظار نظير آدرس های پست الکترونيکی ، شماره های تلفن و يا کد پستی  را فراهم می نمايد . با استفاده از خصلت ValidationExpression ، عبارت مورد نظر بمنظور بررسی صحت داده کنترل ورودی،  تعريف و مشخص می گردد . گرامر عبارت بررسی صحت داده بر روی سرويس گيرنده و سرويس دهنده با يکديگر متفاوت است . در سرويس گيرنده ، بمنظور مشخص نمودن عبارت مورد نظر از گرامر Jscript و بر روی سرويس دهنده از گرامر Regex استفاده می گردد . با توجه به اينکه، گرامرعبارات Jscript زير مجموعه ای از گرامر Regex می باشد ، توصيه می گردد از گرامر Jscript برای تعريف عبارت مورد نظر خود استفاده تا شاهد نتايج يکسانی بر روی سرويس گيرنده و سرويس دهنده باشيم .

 

 کنترل CompareValidator .

کنترل فوق، مقدار ورودی در يک کنترل ورودی را با مقدار ديگر مقايسه می نمايد . از خصلت ControlToValidate  برای مشخص نمودن کنترل ورودی اول و از خصلت ControlToCompare برای مشخص نمودن کنترل ورودی دوم که می بايست با يکديگر مقايسه گردند ، استفاده می شود .درصورتيکه ماحصل مقايسه يکسان  باشد، از مقدار مشخص شده توسط خصلت ControlToCompare ، استفاده می گردد .

 

 

 

 

اگر مقدار صفت CausesValidation یک دکمه را false کنید در هنگام کلیک کردن آن هیچگونه چک کردنی از لحاظ اعتبار داده های ورودی رخ نخواهد داد .

 

<asp:Button ID="Button1" Runat="server" Text="Cancel" CausesValidation="False" />

 

 

     

     

 

RequiredFieldValidator

 

 

 

 

<%@ Page Language="C#" %>

 

<script runat="server">

    protected void Button1_Click(Object sender, EventArgs e)

    {

        Label1.Text = "Page is valid!";

    }

script>

 

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>RequiredFieldValidatortitle>

head>

<body>

    <form id="form1" runat="server">

        <div>

            <asp:TextBox ID="TextBox1" runat="server">asp:TextBox>

            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="فیلد نباید خالی باشد"

                ControlToValidate="TextBox1">asp:RequiredFieldValidator>

            <br />

            <asp:Button ID="Button1" runat="server" Text="Submit" OnClick="Button1_Click" />

            <br />

            <br />

            <asp:Label ID="Label1" runat="server">asp:Label>

        div>

    form>

body>

html>

 

 

 

 

کاربر می بایست مقداری غیر از مقدار وارد شده در textbox وارد کند

 

Page 2.aspx

 

 

<asp:TextBox ID="TextBox1" runat="server">My Initial Valueasp:TextBox>

             

            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please change the value of the textbox!"

                ControlToValidate="TextBox1" InitialValue="My Initial Value">

            asp:RequiredFieldValidator>

 

 

 

 

کاربر می بایست مقداری غیر از مقدار وارد شده در textbox وارد کند اما نمی تواند که textbox را خالی نگه دارد  . کنترل RequiredFieldValidator2 خالی نبودن textbox  را چک می کند

 

Page 3.aspx

 

<asp:TextBox ID="TextBox1" runat="server">My Initial Valueasp:TextBox> 

            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please change value"

                ControlToValidate="TextBox1" InitialValue="My Initial Value">asp:RequiredFieldValidator>

            <asp:RequiredFieldValidator ID="RequiredFieldValidator2" runat="server" ErrorMessage="Do not leave empty"

                ControlToValidate="TextBox1">

            asp:RequiredFieldValidator>

 

 

 

 

می توان از کنترل RequiredFieldValidator برای چک کردن انتخاب یک مقدار در کنترل DropDownList نیز استفاده کرد

 

Page 4.aspx

 

<asp:DropDownList ID="DropDownList1" runat="server">

                <asp:ListItem Selected="True">Select a professionasp:ListItem>

                <asp:ListItem>Programmerasp:ListItem>

                <asp:ListItem>Lawyerasp:ListItem>

                <asp:ListItem>Doctorasp:ListItem>

                <asp:ListItem>Artistasp:ListItem>

            asp:DropDownList>

             

            <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="Please make a selection"

                ControlToValidate="DropDownList1" InitialValue="Select a profession">

            asp:RequiredFieldValidator>

 

 

 

 

CompareValidator

 

 

بررسی اعتبار داده های ورودی بر اساس نوع مقادیر وارد شده در کنترل ها

مقادیری که می توان برای صفت </



تمام حقوق این سایت متعلق به شرکت هوشمند گستر جم اصفهان تعلق دارد - 1386
تمام صفحات
Register Forgot Pass?