راهکارهای موثر در ASP.NET > راهکار شماره 1
اعتبار سنجی اطلاعات ورودی کاربران در فرم های وب
مقدمه :
یکی از مهمترین و ضروری ترین امکانات در طراحی سایت های تحت وب ، امکان اعتبار سنجی
اطلاعات وارد شده توسط کاربران در فرم های ثبت اطلاعات است . برای این منظور به چند
مثال اشاره می کنیم . مثلا در یک فرم ثبت نام اعضای جدید ، نیاز داریم مطمن شویم که
کاربر آدرس Email ، يک آدرس صحیح ایمیل با فرمت مناسب را وارد کند و نه یکسری اعداد
و ارقام بی معنی . یا مثلا در قسمت سن یا شماره تلفن ، اعداد وارد کرده و نیز این اعداد
در شکل متعارفشان باشند .
برای سنجش داده های ورودی کاربران در فرم های وب و کنترل اینکه این اطلاعات در فرمت
مورد نظر ما هستند ، در برنامه نویسی ASP.NET ، از کنترل های اعتبار سنج ( Validator
Controls ) استفاده می شود . کنترل های اعتبار سنج در ASP.NٍET به 2 دسته کلی تقسیم
می شوند :
- دسته اول کنترل هایی هستند که عملیات اعتبار سنجی اطلاعات را به صورت اتوماتیک انجام
داده و نیازی به کدنویسی اضافه توسط کاربر ندارند . برای مثال می توان به کنترل های
RequiredFieldValidator و یا CompareValidator اشاره نمود .
- دسته دوم کنترل هایی هستند که کاربر می تواند طبق نیاز و سلیقه خود ، جهت اعتبار سنجی
داده های ورودی برای آنها کدنویسی مورد نظر خود را انجام می دهد . این کنترل ها بدون
کدنویسی قادر به انجام کار خاصی نیستند . از این دسته کنترل ها می توان به کنترل CustomValidator
اشاره کرد .
توضیح راهکار :
در این راهکار قصد داریم تا شما را با کنترل های مهم و پر کاربرد اعتبار سنجی اطلاعات
و روش های استفاده از آنها در ASP.NET آشنا کنیم .
در اين قسمت ، شما ابتدا با چند کنترل اعتبار سنج داده که عملیات خود را به صورت اتوماتیک
و بدون نیاز به کدنویسی خاص توسط کاربر انجام می دهند ، کار خواهید کرد . سپس با یک
کنترل اعتبار سنج داده که می توانید برای آن کدنویسی دلخواه خود را انجام دهید ، آشنا
خواهید شد .
روش استفاده شده در این راهکار به این صورت است که شما در یک سایت فرضی ، قصد دارید
تا عملیات دریافت اطلاعات کاربران جدید را در قالب یک فرم ثبت نام انجام دهید . در
این فرم ثبت نام ، از کاربران یک آدرس Email به عنوان شناسه کاربری و یک روز عبور و
تکرار آن برای حفظ امنیت و ورود به سیتم و در آخر هم سن آنها پرسیده می شود .
بنابراین با توجه به موارد فوق ، 3 هدف برای اعتبار سنجی داده ها در فرم فرضی خواهیم
داشت :
- آدرس Email وارد شده توسط کاربر ِ ، یک آدرس Email در فرمت استاندارد باشد . مسلما
در این مورد نمی توانیم بفهیم که آیا ایمیل وارد شده واقعا متعلق به کاربر مورد نظر
است و يا اصلا چنین آدرس ایمیلی وجود دارد یا خیر . بلکه فقط می خواهیم مطمئن شویم
که آدرس وارد شده با فرمت استاندارد آدرس ایمیل ( Someone@sth.xyz ) مطابقت داشته باشد
. این عمل توسط کنترل RegularExpressionValidator انجام می شود .
- رمز عبور وارد شده توسط کاربر با رمز وارد شده در فسمت تکرار کلمه رمز یکسان باشد .
این عمل توسط کنترل CompareValidator انجام می شود .
- سن وارد شده توسط کاربر در محدوده اعداد مورد نظر باشد . این عمل توسط کنترل RangeValidator
انجام می شود .
- در کادرهایی که می بایست کاربر اطلاعات لازم را وارد کند ، از وارد شدن آنها مطمئن
شویم ، تا کاربر آنها را خالی رها نکند .