TAHA
09-30-2009, 07:23 AM
برای اعتبار سنجی داده های وارد شده از طرف کاربر قبل از ارسال آنها به سرور، کنترل های سمت مشتری Validation در ASP.NET 1.X معرفی شدند. در نگارش جدید ، validation groups نیز افزوده شده است. ایده ی آن هم به صورت زیر است:
در صفحات ASP.NET تنها وجود *یک* تگ form سمت سرور مجاز است و اگر یک صفحه را به چندین فرم فرضی تقسیم بندی کنیم با کلیک بر روی دکمه ی submit ، تمام کنترل های validation قرار گرفته روی فرم باخبر و فعال خواهند شد.
به شخصه با این مشکل در عمل (در ASP.NET 1.X ) مواجه شده ام. فرض کنید در صفحه دو table دارید که در یکی فرم عضویت در خبرنامه ی سایت و دیگری فرم پر کردن اطلاعات کاربر قرار دارند (شکل متداول اغلب پورتال ها). برای تمام تکست باکس ها هم کنترل RequiredFieldValidator را قرار داده اید. کاربر اصلا نمی خواهد که در خبرنامه ی سایت عضو شود! و بدیهی است که چیزی را در تکست باکس آن وارد نخواهد کرد. اما سایر تکست باکس های فرم پرکردن اطلاعات را پر می کند. به محض فشردن دکمه ی ارسال اطلاعات در این قسمت ، کنترل RequiredFieldValidator مربوط به عضویت در خبرنامه نیز فعال شده و دیگر کل فرم ارسال نخواهد شد (مگر اینکه کاربر فیلد مربوط به خبرنامه را هم اجبارا پر کند!). این مشکل با معرفی validation groups در نگارش جدید حل شده است. به این صورت یک فرم را به صورت فرضی می توان به چند گروه تقسیم بندی کرد و سپس کار اعتبار سنجی را به صورت مجزا از هم اعمال نمود (شکل زیر).
http://pnu-club.com/imported/mising.jpg
برای مطالعه بیشتر:
http://msdn.microsoft.com/library/en...asp?frame=true (http://msdn.microsoft.com/library/en-us/dnvs05/html/ValGroups.asp?frame=true)
در صفحات ASP.NET تنها وجود *یک* تگ form سمت سرور مجاز است و اگر یک صفحه را به چندین فرم فرضی تقسیم بندی کنیم با کلیک بر روی دکمه ی submit ، تمام کنترل های validation قرار گرفته روی فرم باخبر و فعال خواهند شد.
به شخصه با این مشکل در عمل (در ASP.NET 1.X ) مواجه شده ام. فرض کنید در صفحه دو table دارید که در یکی فرم عضویت در خبرنامه ی سایت و دیگری فرم پر کردن اطلاعات کاربر قرار دارند (شکل متداول اغلب پورتال ها). برای تمام تکست باکس ها هم کنترل RequiredFieldValidator را قرار داده اید. کاربر اصلا نمی خواهد که در خبرنامه ی سایت عضو شود! و بدیهی است که چیزی را در تکست باکس آن وارد نخواهد کرد. اما سایر تکست باکس های فرم پرکردن اطلاعات را پر می کند. به محض فشردن دکمه ی ارسال اطلاعات در این قسمت ، کنترل RequiredFieldValidator مربوط به عضویت در خبرنامه نیز فعال شده و دیگر کل فرم ارسال نخواهد شد (مگر اینکه کاربر فیلد مربوط به خبرنامه را هم اجبارا پر کند!). این مشکل با معرفی validation groups در نگارش جدید حل شده است. به این صورت یک فرم را به صورت فرضی می توان به چند گروه تقسیم بندی کرد و سپس کار اعتبار سنجی را به صورت مجزا از هم اعمال نمود (شکل زیر).
http://pnu-club.com/imported/mising.jpg
برای مطالعه بیشتر:
http://msdn.microsoft.com/library/en...asp?frame=true (http://msdn.microsoft.com/library/en-us/dnvs05/html/ValGroups.asp?frame=true)