|
آموزش asp.net در این وبلاگ سعی شده تا اطلاعاتی در مورد asp.net و مثال هایی از آن برای کاربران ارائه شود. |
در این وبلاگ فرض شده کاربران عزیز تا حدی با ASP.NET آشنایی دارند.
امیدواریم بتوانیم بخشی از نیازهای شما را براورده کنیم.
ساعت و تاريخ
موضوعات
آمار بازدید : نفر
افراد آنلاين : نفر
اعتبار سنجی اطلاعات (قسمت سوم) ( )
«جلسه سوم»
کنترل RegularExpressionValidator :
در جلسات قبل گفتم که این کنترل برای اعتیار سنجی عبارات داخل کنترل های ورودی به کار برده میشه.
این کنترل غیر از خصوصیات مشترکی که با دیگر اعتبار سنجها داره شامل خصوصیت دیگه ای به نام ValidationExpression نیز هست که Regular Expression مورد استفاده برای سنجش اعتبار رو مشخص میکنه، که معنا وعملکرد این Regular Expression در جاوا اسکریپت و فریم ورک دات نت متفاوت است.
این کنترل هیچ الزامی رو جهت پر کردن فیلد به کاربر تحمیل نمیکنهولی در صورتی که کاربر فیلد رو پر کنه و با Regular Expression داده شده مطابقت نداشته باشه پیغام خطا ظاهر میشه.
من در این جلسه میخوام چند نمونه از استفاده های این کنترل رو براتون مثال بزنم.
*نکته:
در مورد این کنترل باید در نظر داشت که نوشتن یک Regular Expression استاندارد کار همچین ساده ای هم نیست.*
اعتبار سنجی آدرس های Email :
یکی از رایجترین و دشوارترین اعتبار سنجی ها زمانیست که بخوایم یه آدرس email رو بسنجیم چون استاندارد سنجش ایمیل چیز پیچیده ایست.
مثلا با استفاده از Regular Expression زیر میتونیم چک کنیم که آدرس با یک یا چند کاراکتر غیر space شروع بشه و بعد یک علامت @ ، پس از اون یک یا چند کاراکتر غیر space و بعد یک نقطه و در آخر هم یک یا چند کاراکتر غیر space بیاد.
\s+@\s+\.\s
(برای اینکه استفاده از کاراکتر space نیز مجاز باشه به جای حرف S در Regular Expression فوق میتونیم حرف W رو قرار بدیم)
اعتبار سنجی اسم کاربر و رمز عبور :
در بسیاری از وب سایتها اسم کاربری ورمز عبوری مورد قبوله که حاوی کاراکتر های کلمه ای باشه.
(کاراکتر کلمه ای میتونه حرفی از حروف الفبا، یک عدد یا Underscore باشه.)
برای اعمال چنین قانونی میتونیم از Regular Expression زیر استفاده کنیم:
\w
Regular Expression فوق با عبارتی مطابقت میکنه که دارای یک یا چند کاراکتر کلمه ای باشه.
همچنین برای تعیین حداقل و حداکثر طول برای مقادیری مثل رمز عبور میتونیم از چنین Regular Expression استفاده کنیم.
\w{6, 20}
اعتبار سنجی شماره تلفن:
سنجش اعتبار شماره های تلفن کار آسونی نیست مخصوصا اگه بخوایم که کد های خارج و تلفن های داخلی رو هم در نظر بگیریم. در هر صوزت حتی خود شماره تلفن ها هم دارای فرمت های مختلف و زیادی هستن، مثلا Regular Expression زیر رو در نظر بگیرید:
\(?\s*\d{3}\s*[\)\.\-]?\s*\d{3}\s*[\-\.]?\s\d{4}
این Regular Expression میتونه با سه فرمت
(555) 555-5555
555.555.5555
555 555 5555
مطابقت داشته باشه، طرز استفاده از Regular Expression فوق رو میتونید در کد زیر مشاهده منید.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect("ThankYou.aspx" )
End If
End Sub
</script>
<Html>
<Head><title>RegularExpressionValidator</title></Head>
<body>
<form runat="Server">
Phone Number:
<br><asp:TextBox ID="txtPhone" runat="Server" />
<asp: RegularExpressionValidator
ControlToValidate="txtPhone"
Text="Invalid Phone Number!"
ValidationExpression="\(?\s*\d{3}\s*[\)\.\-]?\s*\d{3}\s*[\-\.]?\s*\d{4}"
Runat="Server" />
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
همچنین ما میتونیم روی چیزهای دیگه از جمله آدرس وب ، کد پستی و ... نیز یک Regular ExpressionValidation قرار بدیم که من سعی میکنم در انتهای مبحثValidation کنترل ها استفاده از کنترل Regular ExpressionValidation رو در یه فرم Asp.net قرار بدم تا شما بتونید دانلود کنید و از اون استفاده کنید.
*نکته :
همون طور که متوجه هم شدین ما میتونیم برای کاراکترهای غیر از space از \s
برای کاراکترهای کلمه ای از \w
برای قرار دادن یک محدوده حداقل و حداکثر برای طول اطلاعات وارد شده از {min, max}
و برای کاراکترهای عددی هم از \d
استفاده کنیم.*
نوشته شده توسط a.karami در دوشنبه بیست و یکم فروردین 1385
لينك مطلب
اعتبار سنجی اطلاعات (قسمت دوم) ( )
«جلسه دوم»
سلام
در این جلسه قصد دارم در مورد RequiredFieldValidator بحث کنم.
قبل از اینکه بخوام در مورد هر کدوم از Validation کنترل ها صحبت کنم بهتر دیدم که اول بعضی از خصوصیات مشترک اون ها رو براتون بگم.
1. Control To Validate: در این خصوصیت ID کنترلی که قصد سنجش اعتبار اون رو داریم وارد میکنیم.
2. ِDisplay : این خصوصیت نحوه نمایش پیامی رو مشخص میکنه که در خصوصیت Text این کنترل ها ذکر شده، در واقع اگه این خصوصیت برابر مقدار Static باشه قبل از نمایش پیام هم در هنگام اجرای برنامه برای آن پیام فضا گرفته می شه و اگه برابر مقدار Dynamic باشه در هنگام نمایش پیام به علت نگرفتن فضا از قبل دیگر کنترل ها رو هل داده و پیام رو نمایش میده.
3. Enable Client Script: این خصوصیت اعتبار سنجی طرف کلاینت رو فعال یا غیر فعال میکنه.
4. Error Message : این خصوصیت پیام خطایی رو مشخص میکنه که در کنترل ValidationSummary ظاهر میشه * نکته:« این پیام خطا در صورتی که ما از Validation Summary استفاده نکنیم زمانی توسط کنترل مزبور نمایش داده میشه که خصوصیت Text این کنترل خالی باشه»*
5. Initial Value: در این خصوصیت مقدار اولیه کنترلی که در خصوصیت Control To Validate ذکر شده رو میتونیم مشخص کنیم.
6. Isvalid: اگه اعتبار سنجی نتیجه مثبت داشته باشه مقدار این خصوصیت برابر با True خواهد بود.
7. Text: در این خصوصیت پیام خطایی که توسط کنترل به نمایش در میاد نوشته میشه.
خوب اینم بعضی از خصوصیات مشترک بین Validation کنترل ها.
کنترل RequiredFieldValidator :
همون طور که قبلا گفتم این کنترل الزامی کردن فیلد ها رو باعث میش، یعنی با استفاده از اون چک میکنیم که آیا کاربر برای فیلد الزامی ما مقداری وارد کرده یا نه.
اغلب این کنترل برای تکست باکس ها به کار برده میشه ولی ما میتونیم این اعتبار سنج رو روی دیگر کنترل های ورودی به کار بریم.
در کد زیر دو تکست باکس به نام های Txtusername و Txtpassword داریم و برای هر کدوم یه کنترل RequiredFieldValidator اختصاص دادیم، در صورتی که هر کدوم از اونها در هنگام ارسال فرم خالی باشن کنترل اعتبار سنج مربوطه پیام خطایی رو نشون داده و خصوصیت Isvalid مقدار False رو بر می گردونه، در غیر این صورت ساب روتین button_Click به طور خودکار کاربر رو به صفحه ای که میخوایم هدایت میکنه.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect( "ThankYou.aspx" )
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidator</title></Head>
<body>
<form runat="Server">
Username:
<br><asp:TextBox ID="txtusername" runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtusername"
Text="You must enter a Username!"
Runat="Server" />
<p>
Password:
<br><asp:TextBox ID="txtpassword" TextMode="Password" runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtpassword"
Text="You must enter a Password!"
Runat="Server" />
</p>
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
در ضمن این کنترل یه کاربرد خوب دیگه هم داره و اون اینه که میتونیم مقدار یک فیلد رو بررسی کنیم و ببینیم آیا کاربر مقدار متفاوتی رو نسبت به مقدار اولیه فیلد وارد کرده یا نه.
گاهی وقتا برای اینکه کاربر متوجه بشه چه نوع اطلاعاتی رو باید وارد فیلد بکنه، مقداری رو به عنوان نمونه از طریق اون فیلد به کاربر نشون میدیم ولی توقع داریم کاربر مقدار واقعی خودشو وارد کنه .
در کد زیر طرز استفاده از Initial Value رو در RequiredFieldValidator مشاهده خواهید کرد.
<script runat="Server">
Sub Button_Click(s As Object, e As EventArgs)
If IsValid Then
Response.Redirect("ThankYou.aspx")
End If
End Sub
</script>
<Html>
<Head><title>RequiredFieldValidatorInitialValue</title></Head>
<body>
<form runat="Server">
Comments:
<br>
<asp:TextBox
ID="xtcomments"
TextMode="ultiLine"
Text="Enter Some Text"
runat="Server" />
<asp:RequiredFieldValidator
ControlToValidate="txtcomments"
Text="You must enter some comments!"
InitialValue="Enter Some Text"
Runat="Server" />
</p>
<p>
<asp:Button Text="Submit"
OnClick="Button_Click"
Runat="Server" />
</form>
</body></html>
در این کد وقتی فرم مربوطه برای اولین بار درخواست میشه عبارت Enter Some Text در کنترل تکست باکس ظاهر میشه و اگه بخوایم که این فرم رو بدون تغییر دادن این مقدار به سرور تسلیم کنیم پیغام خطایی در صفحه ظاهر میشه.
کد مربوط به این بخش رو میتونید ازاینجادانلود کنید.
نوشته شده توسط a.karami در سه شنبه هشتم فروردین 1385
مطالب پیشین
![]()
کپی برداری از مطالب وبلاگ فقط با ذکر منبع مجاز میباشد .
All Rights Reserved 2005-2006 © by
aspnetlearning.blogfa.com
The Template Designed By Loghman Avand @
www.irlearn.com