PDA

View Full Version : از کدوم کنترل اعتبار سنجی استفاده کنم !؟



علی میرجلیلی
دوشنبه 11 خرداد 1388, 13:26 عصر
سلام

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

ممنون

Chabok
دوشنبه 11 خرداد 1388, 14:26 عصر
با سلام

برای چنین مواردی باید از CustomValidator استفاده کنید .http://forum1.free-offline.com/images/smilies/23.gif
در این کنترل خود شما تابع اعتبار سنجی رو خواهید نوشت .http://forum1.free-offline.com/images/smilies/1_free%20%2868%29.gif

تمامی کنترل های اعتبار سنجی در دو مرحله داده های ورودی را چک میکنند .
ابتدا سمت کلاینت (توسط JavaScript) و سپس سمت سرور

به همین منظور این کنترل نیز دو Property دارد که نام این دو تابع را از شما میگیرد .

OnServerValidate : نام تابع اعتبار سنجی سمت سرور را میگیرد .
ClientValidationFunction : نام تابع جاوااسکریپت برای اعتبار سنجی سمت کلاینت را می گیرد .

تابع سمت سرور باید بصورت زیر باشد و نهایتا args.IsValid باید بصورت Boolean مقدار دهی شود


protected void TextValidate(object source, ServerValidateEventArgs args)
{
args.IsValid = (args.Value.Length >= 8);
}
در این تابع پارامتر اول (object source) شی صدا کننده می باشد .
و args.Value مقداری است که کاربر وارد کنترل کرده است .
و نهایتاً باید args.IsValid را مقدار دهی نمود .

پس تا حالا چنین کنترلی داریم :


<asp:CustomValidator id="CustomValidator1" runat="server"
OnServerValidate="TextValidate"
ControlToValidate="TextBox1"
ErrorMessage="Text must be 8 or more characters.">
</asp:CustomValidator>
حال اعتبار سنجی سمت کلاینت :
تابع سمت کلاینت نیز مانند تابع سمت سرور همان دو پارامتر را دارد .


<script type="text/javascript">
function validateLength(oSrc, args){
args.IsValid = (args.Value.length >= 8);
}
</script>
که باز هم args.Value مقدار ورودی کاربر و args.IsValid نتیجه اعتبار سنجی را مشخص می کند .

که در نهایت کنترل شما به این صورت خواهد شد :http://forum1.free-offline.com/images/smilies/icon_303.gif



<asp:CustomValidator id="CustomValidator1" runat="server"
OnServerValidate="TextValidate"
ClientValidationFunction="validateLength"
ControlToValidate="TextBox1"
ErrorMessage="Text must be 8 or more characters.">
</asp:CustomValidator>
منبع : http://msdn.microsoft.com/en-us/library/f5db6z8k.aspx

موفق باشید .http://forum1.free-offline.com/images/smilies/reedface.gif

IranVisual
دوشنبه 11 خرداد 1388, 14:40 عصر
بهتره از جاوا اسکرسپت استفاده کنید