PDA

View Full Version : سوال: مشکل در استفاده از RegularExpressionValidator



malaki.davud
پنج شنبه 21 اردیبهشت 1391, 13:26 عصر
با عرض سلام
من از RegularExpressionValidator در صفحه ام استفاده کرده ام
می خواستم وقتی یک دکمه رو کلیک می کنم چک کنه اگه RegularExpression درست نیست از تمرکز رو ببره مثلا بر روی یک txt خاص
کسی راه حلی نداره؟؟؟؟

A.S.Roma
پنج شنبه 21 اردیبهشت 1391, 14:00 عصر
می تونید مستقیما" از جاوااسکریپت استفاده کنید و از کامپوننت دات نتی استفاده نکنید :
http://www.w3schools.com/jsref/jsref_obj_regexp.asp
با استفاده از متد test() مقدار رو چک کنید و عمل بعدی رو انجام بدید.
کدتون چیزی شبیه این میشه :
var pattern = new RegExp(pattern,modifiers);; // your pattern
var inputValue = document.getElementById('<%=yourTextBoxName.ClientID %>').value;
if(pattern.test(inputValue) == false) {
setFocus(yourControl);
}

malaki.davud
پنج شنبه 21 اردیبهشت 1391, 19:53 عصر
همین چک کردن در هنگام استفاده از کامپوننت های دات نت چطوره ؟؟؟؟؟؟؟؟؟؟؟؟///

A.S.Roma
پنج شنبه 21 اردیبهشت 1391, 22:53 عصر
منظورم رو درست متوجه نشدید.
منظورم این بود که از کنترل RegularExpressionValidator استفاده نکنید نه کنترل دیگه ای.
کد بالا دقیقا" همون چیزیه که شما می خواهید.

malaki.davud
شنبه 30 اردیبهشت 1391, 11:54 صبح
با سلام






var pattern = new RegExp(pattern,modifiers);; // your patternvar inputValue = document.getElementById('<%=yourTextBoxName.Client ID %>').value;if(pattern.test(inputValue) == false) { setFocus(yourControl);}



در قسمتی که گفته شده

'<%=yourTextBoxName.Client ID %>'

من می خوام یه textbax که داخل صفحه ام دارم رو قرار بدم
می تونید راهنمایی کنید چطور؟؟
ممنون

neda555
شنبه 30 اردیبهشت 1391, 12:12 عصر
سلام من نمیدونم چرا جناب A.S.Roma می گن استفاده نکن از خود امکانات vs به نظر من که مشکلی نداره
لطفا اگر میگین استفاده نکن دلیلش را هم بگید
دوست عزیز من درست متوجه نشدم منظورتون از تمرکز روی یک textbox چیه؟بیشتر توضیح بدین می خواهید چه کار کنید و چند تا دکمه دارید؟
خب ما کنار هر textbox این کنترل را قرار میدیم و control to validate را در propertice ولیدیشن RegularExpressionValidator برابر textbox مورد نظر قرار میدیم این جوری وقتی روی دکمه کلیک میکنید برای textbox های مورد نظر اعتبار سنجی میشه

A.S.Roma
شنبه 30 اردیبهشت 1391, 14:29 عصر
با سلام

در قسمتی که گفته شده
من می خوام یه textbax که داخل صفحه ام دارم رو قرار بدم
می تونید راهنمایی کنید چطور؟؟
ممنون
فرض کنید اسم تکست باکستون txtName‌هست.
کد بالا میشه :
txtName.ClientID

منظورتون همین بود !؟

A.S.Roma
شنبه 30 اردیبهشت 1391, 22:41 عصر
سلام من نمیدونم چرا جناب A.S.Roma می گن استفاده نکن از خود امکانات vs به نظر من که مشکلی نداره
لطفا اگر میگین استفاده نکن دلیلش را هم بگید
دوست عزیز من درست متوجه نشدم منظورتون از تمرکز روی یک textbox چیه؟بیشتر توضیح بدین می خواهید چه کار کنید و چند تا دکمه دارید؟
خب ما کنار هر textbox این کنترل را قرار میدیم و control to validate را در propertice ولیدیشن RegularExpressionValidator برابر textbox مورد نظر قرار میدیم این جوری وقتی روی دکمه کلیک میکنید برای textbox های مورد نظر اعتبار سنجی میشه

چون شما متوجه واژه ی تمرکز (focus) نشدید احتمالا" چنین نظری رو دادید.
focus یعنی انتقال cursor به کنترل . مثلا" وقتی شما روی یک textbox کلیک می کنید Focus را به آن کنترل انتقال میدید.
کنترل RegularExpressionValidator کارش اینه که بعد از اعتبارسنجی یک پیغام به کاربر نشون میده و Focus رو به کنترل Invalid می بره.
دوستمون می خواد بعد از اعتبارسنجی Focus به یک کنترل خاص بره.
تا اونجا که من اطلاع دارم کنترل RegularExpressionValidator این کار رو نمی تونه انجام بده.

neda555
شنبه 30 اردیبهشت 1391, 23:17 عصر
چون شما متوجه واژه ی تمرکز (focus) نشدید احتمالا" چنین نظری رو دادید.
focus یعنی انتقال cursor به کنترل . مثلا" وقتی شما روی یک textbox کلیک می کنید Focus را به آن کنترل انتقال میدید.
کنترل RegularExpressionValidator کارش اینه که بعد از اعتبارسنجی یک پیغام به کاربر نشون میده و Focus رو به کنترل Invalid می بره.
دوستمون می خواد بعد از اعتبارسنجی Focus به یک کنترل خاص بره.
تا اونجا که من اطلاع دارم کنترل RegularExpressionValidator این کار رو نمی تونه انجام بده.
ممنون بله ، الان متوجه منظورشون شدم

malaki.davud
شنبه 30 اردیبهشت 1391, 23:17 عصر
کنترل RegularExpressionValidator کارش اینه که بعد از اعتبارسنجی یک پیغام به کاربر نشون میده و Focus رو به کنترل Invalid می بره.
دوستمون می خواد بعد از اعتبارسنجی Focus به یک کنترل خاص بره.
تا اونجا که من اطلاع دارم کنترل RegularExpressionValidator این کار رو نمی تونه انجام بده.

دقیقا به مشکل من اشاره کردید
چون من RegularExpressionValidator رو برای یک textbax قرار دادم و من می خوام وقتی یک دکمه رو در صفحه ام بزنم این textbax رو چک کنه اگه با RegularExpressionValidator مشکلی نداشت انگاه به صفحه ای که در دکمه داده ام بره و اگر RegularExpressionValidator درست نبود focus رو ببره روی همان textbax یا حداقل به صفحه ای که در دکمه نوشتیم ، نره ولی
به صفحه دیگه میره؟؟؟

neda555
شنبه 30 اردیبهشت 1391, 23:37 عصر
نمیدونم چرا حس میکنم مشکل شما تخصصی نیست منظورم اینه که فکر میکنم شما می خواهید از RegularExpressionValidator استفاده کنید ولی مشکل داره،وقتی RegularExpressionValidator درست نباشه نباید به صفحه دیگه بره!!! بعد هم مگه شما فقط یه textbox دارید که واسش RegularExpressionValidator را گذاشتید باید ارور را جلوی همون textbox نشونتون بده
دقت کنید causesvalidation دکمه برابر true باشه ،اگه نمیشه دکمه و textbox را در یک گروه قرار بدید

A.S.Roma
شنبه 30 اردیبهشت 1391, 23:53 عصر
دقیقا به مشکل من اشاره کردید
چون من RegularExpressionValidator رو برای یک textbax قرار دادم و من می خوام وقتی یک دکمه رو در صفحه ام بزنم این textbax رو چک کنه اگه با RegularExpressionValidator مشکلی نداشت انگاه به صفحه ای که در دکمه داده ام بره و اگر RegularExpressionValidator درست نبود focus رو ببره روی همان textbax یا حداقل به صفحه ای که در دکمه نوشتیم ، نره ولی
به صفحه دیگه میره؟؟؟

این چیزی که الان گفتید عملکرد معمولی کنترل RegularExpressionValidator هست.
مشکل شما از Patternتون هست به احتمال فراوان.
کدتون رو قرار بدید.

fakhravari
یک شنبه 31 اردیبهشت 1391, 03:30 صبح
باید گروه بندی کنید .
اسم گروه باید برابر باشه با اسم گروه Button+ TextBox