PDA

View Full Version : کنترل های Validate و Javascript



shahab_ksh
پنج شنبه 20 دی 1386, 23:47 عصر
من از کنترل های RequiredFieldValidator و CompareValidator و ValidationSummary

در یک صفحه استفاده میکنم حال یه button در صفحه دارم میخام قبل از ارسال به سرور با javascript وقتی این دکمه رو فشار میدم زمانی که کنترل های Validator بدون مشکل هستن اجرا بشه چطوری این کار رو انجام بدم

Aidin
جمعه 21 دی 1386, 06:32 صبح
میشه واضحتر توضیح بدین .
این Validator ها دقیقا همین کار رو انجام میدن (کنترل با JavaScript قبل از ارسال)

shahab_ksh
جمعه 21 دی 1386, 12:17 عصر
زمانی که کنترل های Validator بدون مشکل هستن اجرا بشه چطوری این کار رو انجام بدم


زمانی که بدون مشکل هستن یه تابع جاوا اسکریپت اجرا شه

Neo Persian
جمعه 21 دی 1386, 13:54 عصر
منم دقیقا همین مشکل رو دارم!

یه خورده بازش میکنم تا واضح تر بشه:

2 تا کنترل تو صفحه داریم : Textbox و Button

داخل سورس صفحه یک تابع javascript نوشتیم که مثلا alert میده

برای Textbox یک RequiredFieldValidator گذاشتیم

میخوایم کاری کنیم که در شرایطی که textbox پر است بعد از زدن Button اون تابع javascript صدا زده بشه. ولی اگه پر نبود و حالت RequiredFieldValidator اتفاق افتاده بود اون تابع صدا زده نشه!

راهی داره؟

mehrdad201
جمعه 21 دی 1386, 14:36 عصر
فکر کنم اگه از custom validator ها استفاده کنید مشکل حل شه

یه راه دیگه هم هست که از طریق سرور ساید فانکشن جاوااسکریپت رو فراخوانی کنید که من زیاد در موردش اطلاعات ندارم

Aidin
جمعه 21 دی 1386, 15:56 عصر
خوب توی همون تابع خودت کار RequiredFieldValidator رو انجام بده و همون جا اول چک کن که Textbox پر هست یا نه و اگر پر بود کارت رو انجام بده.

shahab_ksh
جمعه 21 دی 1386, 16:57 عصر
خوب توی همون تابع خودت کار RequiredFieldValidator رو انجام بده و همون جا اول چک کن که Textbox پر هست یا نه و اگر پر بود کارت رو انجام بده.


ترکیب چند عمله مگه نه کار شما جواب میداد مسله اینه در نهایت باید با javascript فهمید که آیا عمل Validator با پیغامه یا بی پیغام اگه بی پیغام بود اونوقت اون تابع مورد نظر اجرا بشه

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

Aidin
جمعه 21 دی 1386, 17:00 عصر
مشکلی نداره که چند عمل باشه.
چه مشکلی هست ؟؟

babak_bsn
شنبه 22 دی 1386, 00:12 صبح
یا اگه میشد قبل از پست شدن صفحه یه تابع ج.ااسکریپت اجرا شه مشکلی نبود

یعنی عمل Postback رو با کد نویسی انجام بدیم؟

shahab_ksh
شنبه 22 دی 1386, 01:17 صبح
یعنی عمل Postback رو با کد نویسی انجام بدیم؟


اگه Validator بدون مشکل بود و قبل از Postback تابع جاوا اسکریپت اجرا بشه

Aidin
شنبه 22 دی 1386, 01:29 صبح
حتما باید از Required Field Validator استفاده کنی ؟؟؟
میشه دقیقا بگی میخوای چیکار بکنی ؟
آدم حس میکنه میخواهی لقمه رو بچرخونی (Just Kidding)
یعنی مثالی که داری انجامش میدی رو توضیح بده ؟
چون نه Server Side رو قبول کردی نه Client Side رو ؟

shahab_ksh
شنبه 22 دی 1386, 10:26 صبح
ببینید برای نام کاربری و کلمه عبور میخام میخام به وسیله جاوا اسکریپت اینکریپتش کنم بعد به سرور بفرستمش اما باید این کار آخرین مرحله جاوا اسکریپت باشه یعنی بعد از Validator کردن

ظاهرا چاره ای نیست و باید خودم Validator رو بصورت دستی بنویسم و از کنترل این کنترل ها استفاده نکنم چون Multi Language هم ساختمش باید اطلاعات مثل پیغامها رو به جاوا اسکریپت از طریق سرور بهش بدم

mahdi_farhani
شنبه 22 دی 1386, 10:40 صبح
یه کار غیر استاندارد بت پیشنهاد میکنم ، ولی فعلاً جوا بمیده.
یه دکمه بزار و Disply او برابر none کن ( توجه داشته باش که حتماً Disply رو None کردی باشه ، Visible رو False نکن ) بعد اول تابع جاوا اسکریپت چک کن اگر خالی بود رویداد Click دکمه اجرا بشه ، چون Validate نیست پیغام طاهر میشه ......
-----
یا اصلاً کلاً برای خودت Validator بنویسی .

Aidin
شنبه 22 دی 1386, 21:09 عصر
یه نکته مهم هست که اگه عمل encryption رو با جاوا اسکریپت انجام بدیم و اونم بصورت ClientSide دیگه هیچ امنیتی رو برات فراهم نمیکنه جون هرکسی به سادگی از نحوه رمز گذاری اطلاع پیدا میکنه.

shahab_ksh
شنبه 22 دی 1386, 21:31 عصر
یه نکته مهم هست که اگه عمل encryption رو با جاوا اسکریپت انجام بدیم و اونم بصورت ClientSide دیگه هیچ امنیتی رو برات فراهم نمیکنه جون هرکسی به سادگی از نحوه رمز گذاری اطلاع پیدا میکنه.


نه اینطوری نیست اگه از توابع غیر بازگشتی استفاده کنید دیگه نمیشه برشگردوند غیر از این شما میتونید در سمت سرور هم رمزنگاریش کنید

کلا هدف از این کار ارتباط امن بین کلاینت تا سروره

Aidin
شنبه 22 دی 1386, 21:54 عصر
مثلا hash کنی ؟
حالا چرا با جاوا اسکریپت ؟

Neo Persian
شنبه 22 دی 1386, 22:38 عصر
نه اینطوری نیست اگه از توابع غیر بازگشتی استفاده کنید دیگه نمیشه برشگردوند غیر از این شما میتونید در سمت سرور هم رمزنگاریش کنید

کلا هدف از این کار ارتباط امن بین کلاینت تا سروره
SSL رو برای همین کار ساختن

shahab_ksh
شنبه 22 دی 1386, 22:52 عصر
مثلا hash کنی ؟
حالا چرا با جاوا اسکریپت ؟

چون از کامپیوتر شما تا سرور اطلاعات امن باشه با جاوا اسکریپت چون باید قبل از پست بک اینکریپت بشه !



SSL رو برای همین کار ساختن

خوب هدف شبیه سازی همینه