PDA

View Full Version : عدم فعال بودن كامپوننت هاي Validation در هنگام غير فعال بودن جاوااسكريپت در مرورگر



kohyar
دوشنبه 29 مهر 1392, 14:05 عصر
سلام دوستان
اگر كاربر ويژگي جاوا اسكريپت رو در مرورگر خودش غير فعال كنه تمام كامپوننت هايي كه واسه Validation فرم استفاده مي كنيم غير فعال ميشه
من تو فايرفاكس اينو تست گرفتم
كه هم صحت اطلاعات رو به خطر ميندازه و هم امنيت سايت رو پائين مياره
دوستان لطفاً نظراتتون رو بفرمائيد تا يك راهكار درست و حسابي واسه اين مشكل پيدا كنيم
موفق باشيد

fmka2f
دوشنبه 29 مهر 1392, 19:57 عصر
من قبلا به این مشکل برخوردم.و متاسفانه تنها راهی که من پیدا کردم این بود که خودم کدهای ولیدیشن رو بنویسم که مثلا فلان تکست باکس خالی نباشه و اینا....چون کنترلهای ولیدیشن اساسا با جاوا اسکریپت نوشته شدن راه دیگه ای نیست و در صورت غیر فعال بودن جاوا اسکریپت از کار میفتن

meisam3322
دوشنبه 29 مهر 1392, 20:18 عصر
من قبلا به این مشکل برخوردم.و متاسفانه تنها راهی که من پیدا کردم این بود که خودم کدهای ولیدیشن رو بنویسم که مثلا فلان تکست باکس خالی نباشه و اینا....چون کنترلهای ولیدیشن اساسا با جاوا اسکریپت نوشته شدن راه دیگه ای نیست و در صورت غیر فعال بودن جاوا اسکریپت از کار میفتن

سلام
راهه شما هم تفاوتی نداره.

fmka2f
دوشنبه 29 مهر 1392, 20:43 عصر
سلام.متوجه منظورتون نشدم.چرا میگین تفاوتی نداره.توصیه من به این دوستمون این بود که بجای استفاده از کنترلهای ولیدیشن خودش واسه ولیدیشن کد بنویسن که در این صورت مطمئنن بدون جاوا اسکریپت هم کار میکنه کدشون

bahareh1368
دوشنبه 29 مهر 1392, 20:45 عصر
سلام دوستان
اگر كاربر ويژگي جاوا اسكريپت رو در مرورگر خودش غير فعال كنه تمام كامپوننت هايي كه واسه Validation فرم استفاده مي كنيم غير فعال ميشه
من تو فايرفاكس اينو تست گرفتم
كه هم صحت اطلاعات رو به خطر ميندازه و هم امنيت سايت رو پائين مياره
دوستان لطفاً نظراتتون رو بفرمائيد تا يك راهكار درست و حسابي واسه اين مشكل پيدا كنيم
موفق باشيد

علاوه بر اینکه از کنترل های اعتبارسنجی استفاده می کنی باید از شرط Page.isvalid هم استفاده کنی
مثلا برای لاگین وقتی داری از کنترلهای اعتبارسنجی استفاده می کنی باید روی دکمه لاگین اول شرط بذاری که اگر Page.Isvalid برقراره ، کدهای مورد نظرت رو اجرا کنه. اینطوری اگه حتی کاربر جاوا اسکریپت مرورگرش رو غیرفعال کنه تا فیلدها پر نشه و اطلاعات درست وارد نشده باشه عملی صورت نمی گیره.

kohyar
سه شنبه 30 مهر 1392, 09:28 صبح
علاوه بر اینکه از کنترل های اعتبارسنجی استفاده می کنی باید از شرط Page.isvalid هم استفاده کنی
مثلا برای لاگین وقتی داری از کنترلهای اعتبارسنجی استفاده می کنی باید روی دکمه لاگین اول شرط بذاری که اگر Page.Isvalid برقراره ، کدهای مورد نظرت رو اجرا کنه. اینطوری اگه حتی کاربر جاوا اسکریپت مرورگرش رو غیرفعال کنه تا فیلدها پر نشه و اطلاعات درست وارد نشده باشه عملی صورت نمی گیره.

سلام دوست عزيز
تابع page.isvalid سمت سرور هست؟؟
ميشه لطفاً يك نمونه كد بزارين تا منم تست كنم
مرسي

Mohammad_dn
سه شنبه 30 مهر 1392, 13:57 عصر
ببین..انیطوری....اول تمام textbox ها و Validation های خودتونو بزارید و بعد هم کد زیر:

protected void Button1_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
//دستور
}

}

bahareh1368
چهارشنبه 01 آبان 1392, 10:33 صبح
سلام دوست عزيز
تابع page.isvalid سمت سرور هست؟؟
ميشه لطفاً يك نمونه كد بزارين تا منم تست كنم
مرسي



protected void cvLogin_ServerValidate(object source, ServerValidateEventArgs args)
{
var query = (from p in context.kta_Personnel
where p.psnUserName == txtusername.Text && p.psnPassword == txtpassword.Text
select p);
args.IsValid = query.Count() != 0;
}

protected void btnlogin_Click(object sender, EventArgs e)
{
if (Page.IsValid)
{
FormsAuthentication.RedirectFromLoginPage(txtusern ame.Text,false);
}
}

kohyar
شنبه 04 آبان 1392, 09:14 صبح
بچه ها دستتون درد نكنه. ما رو از نگراني در آورديد. موفق و مويد باشيد