RangeValidator1

salam.6864

عضو جدید
من از کنترلRangeValidator1برای گرفتن نام کاربر برای عضویت استفاده کردم ومیخوام اکه کاربر اشتباه چیزی را وارد کرد دستورات بعدی من را اجرا نککند
چه کار کنم
 

A.S.Roma

عضو جدید
کاربر ممتاز
نمی دونم چرا می خواهید برای نام کاربری از RangeValidator استفاده کنید اما ...
این خواص را مقدار بدید :
ControlToValidate
Type
MinimumValue
MaximumValue
ErrorMessage
 

salam.6864

عضو جدید
برای اینکه میخوام از یا تعدادی کمتر وارد نکنه
اینها رو مقداردهی کردم ولی وقتیsubmitرو میرنم پیام تبریک به مناسبت عضویت را می نویسه در صورتی که یه سری اطلاعات اشتباه وارد شده من میخوام این پیام تبریک نوشته نشه
 

A.S.Roma

عضو جدید
کاربر ممتاز
واسه اینکار باید از Customvalidator استفاده کنی .

این کد JavaScript رو در قسمت head صفحه قرار بده :
کد:
<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript">
        function valComments_ClientValidate(source, args)
        {
            if (args.Value.length > 10 || args.Value.length < 4 )
                args.IsValid = false;
            else
                args.IsValid = true;
        }
    </script>
</head>
این هم کد مربوط به Validator در صفحه :
کد:
<asp:CustomValidator ID="CustomValidator1" runat="server" 
                        ControlToValidate="txtUserName" 
                        ErrorMessage="CustomValidator"
                        ClientValidationFunction="valComments_ClientValidate"></asp:CustomValidator>
تابع جاواسکریپت رو بسته به نیاز خودتون تغییر بدید.
اگر جواب گرفتید اعلام کنید چون باید یه کار دیگه برای امنیت کارتون انجام بدید.
 

salam.6864

عضو جدید
این کارها را انجام دادم وبعد در قسمتی که مربوط بررسی اینکه ایا اطلاعات وارد شده یانه میخوام در شرط if بررسی کنم ببینم ایا اطلاعات وارد شده یا نه از چه دستوری استفادده کنم
 

A.S.Roma

عضو جدید
کاربر ممتاز
دوست من ؛
Sample ی که برای سیستم Membership گذاشتم رو بررسی کنید.
RequiredFieldValidator این کار را انجام میدهد .

--------------------------------------------------------------------------------
اگر هم منظورتون در کدهای ایونت کلیک هست . نیاز به چک کردن نیست. چون Validator ها تا اطلاعات صحیح دریافت نکنند اجازه Post شدن اطلاعات را نمی دهند.
 

salam.6864

عضو جدید
دوست من ؛
Sample ی که برای سیستم Membership گذاشتم رو بررسی کنید.
RequiredFieldValidator این کار را انجام میدهد .

--------------------------------------------------------------------------------
اگر هم منظورتون در کدهای ایونت کلیک هست . نیاز به چک کردن نیست. چون Validator ها تا اطلاعات صحیح دریافت نکنند اجازه Post شدن اطلاعات را نمی دهند.
بله ولی در نمونه ای که شما به من دادید پیام خوش امد گویی را چاپ می کند وrequired ها را هم مشخص می کند
برای خود من هم به صفحه خوش امد گویی می رود در صورتی که من میخولهم این اتفاق نیفتد
 

A.S.Roma

عضو جدید
کاربر ممتاز
فکر می کنم ما منظور هم رو متوجه نمی شویم !
من سناریوی زیر رو تعریف می کنم ببینید شما چیزی غیر از این می خواهید !؟

در صفحه ی Register شما دارید یک سری اطلاعات رو از کاربر می گیرید . می خواهید 2 مورد رو چک کنید :
1- کاربر فیلدهای مورد نظر رو پر کرده یا نه !؟
2- داده های وارد شده از سوی کاربر برای شما معتبر است یا خیر !؟

برای مورد اول باید از RequiredFieldValidator استفاده کنید . این کنترل سمت کلاینت کار می کند یعنی تا زمانی که کاربر اطلاعاتی را وارد نکند نمی تواند دکمه ی Submit ( یا هر کنترل دیگر که باعث ارسال صفحه به سرور م شود ) را کلیک کند.

برای مورد دوم هم بسته به نوع اعتبارسنجی که می خواهید انجام دهید کنترل های مختلفی وجود دارد . که من برای تعیین حد پایین و بالا برای تعداد کاراکترهای وارد شده CustomValidator رو پیشنهاد دادم . این کنترل هم چون از یک تابع JavaScript سمت کلاینت استفاده می کند تا زمانی که داده معتبری وارد نشود مانع از ارسال صفحه به سرور می شود.

بنابراین با وجود کنترل های اعتبارسنجی اگر صفحه به سرور ارسال شود داده های آن معتبر است و نیاز نیست نگران اعتبار آنها باشیم .
 
بالا