PDA

View Full Version : سوال در مورد validation



maryam_80
سه شنبه 01 خرداد 1386, 19:40 عصر
با سلام

من 2 تا textbox روی فرم دارم که می خواهم 4 عمل اصلی را روی مقادیر این textbox ها انجام دهم.حالا 2 سوال دارم
1.من برای کنترل رنج مقادیر ورودی از rangevalidation استفاده کرده ام و مقدار min=0 و مقدار max=9999999 قرار داده ام تا بتوانم یک رنج مشخصی از مقادیر را بعنوان ورودی از کاربر بگیرم.
آیا مقدار max من مقدار صحیحی می باشد و یا به شکل دیگری باید آنرا مقدار دهی کنم؟

2.کنترل دیگه ای که من نیاز دارم این هست که فقط در زمان تقسیم نباید مقدار text2 برابر با صفر باشد برای همین نمی توانم در rangevalidation مقدار min=1 قرار بدهم.
آیا باید کنترل را در onclick قرار بدهم و پیغام خطا را در یک label نمایش بدهم و یا راه دیگری هم وجود دارد؟

Alireza_Salehi
سه شنبه 01 خرداد 1386, 20:08 عصر
1. مقادیر مجاز برای RangeValidator (جدول DataType را ببینید):
http://msdn2.microsoft.com/en-us/library/system.web.ui.webcontrols.rangevalidator.aspx

2. از کنترل Compare Validator به طور همزمان با Range Validatorبرای مقایسه با صفر استفاده کنید.

maryam_80
سه شنبه 01 خرداد 1386, 20:16 عصر
از کنترل Compare Validator به طور همزمان با Range Validatorبرای مقایسه با صفر استفاده کنید.


میشه بیشتر توضیح بدهید .

Alireza_Salehi
سه شنبه 01 خرداد 1386, 20:44 عصر
فقط یک Compare Validator روی فرم بذارید و خاصیت ControlToValidate رو به همون Text2 تنظیم کنید بعدش ValueToCompare را مساوی صفر قرار دهید سپس Operator را برابر NotEqual قرار دهید، تا اگر صفر وارد شد پیام خطا را نشان دهد.

maryam_80
سه شنبه 01 خرداد 1386, 21:08 عصر
در این حالت کاربر هیچ وقت نمی تواند صفر وارد کند .در صورتیکه من می خواهم کاربر قادر به وارد کردن مقدار صفر باشد ولی مادامیکه کلید تقسیم را نزده اگر قرار است این کلید فشار داده شود قبل از ارسال به سرور کاربر پیغام خطا را ببیند

Vahid_moghaddam
سه شنبه 01 خرداد 1386, 21:41 عصر
مقاله آقای نصیری رو بخونید. با اجازه از ایشون. چون این مقاله به صورت ebook در دسترس بود، آپلودش کردم.

Alireza_Salehi
سه شنبه 01 خرداد 1386, 22:56 عصر
اگر منظورتون اینه که فقط موقع زدن دکمه (PostBack) پیام خطا رو نشون بده و در مواقع دیگه خطا نده ، کافیه EnableClientScript مربوط به CompareValidator را False کنید.

kochol
پنج شنبه 03 خرداد 1386, 18:29 عصر
سلام
چه طوری می تونم کاری کنم که تو یه textbox کاربر نتونه کمتر از 6 حرف وارد کنه.

maryam_80
پنج شنبه 03 خرداد 1386, 18:59 عصر
یک RegularExpressionValidator روی فرم قرار بده و در برار Controltovalidate نام textbox مربوطه را بنویس بعد validationexperession را باز کن و در قسمت custom ان عبارت زیر را بنویس:



\w{6}


این به معنای این هست که کاربر باید حداقل 6 کرکتر به عنوان ورودی وارد کرده باشد.اگر هم می خواهید که حداقل و حداکثر تعیین کنید به صورت زیر می شود(min=6 و max=10 ،کاراکتر)


\w{6,10}


موفق باشید

kochol
پنج شنبه 03 خرداد 1386, 19:11 عصر
سلام
خیلی ممنون از جوابتون ولی کد اولی درست کار نکرد ولی دومی درست کار می کنه.

maryam_80
پنج شنبه 03 خرداد 1386, 19:45 عصر
خواهش میکنم
ولی من همین الان دوباره کد اول را چک کردم،جواب میده.
در هر حال موفق باشید