فرهاد خانلری
کارشناس ارشد شبکه مایکروسافت

آموزش کار با RequiredFieldValidator و ورود اجباری اطلاعات در فیلد

چگونه وارد کردن اطلاعات در فرم ASP.NET را اجباری کنیم؟  حتماً خیلی از دوستان با ASP.Net آشنایی دارن و برنامه هایی هم نوشته اند و حتی دیدید که در سایت هایی اگر مقدار هایی را که معمولاً با ستاره مشخص شده اند حتماً باید پر شوند یعنی پر کردن فیلد های ستاره دار الزامی است. در این مطلب توسط مثال عملی نحوه استفاده از کنترل RequiredFieldValidator رو خدمتتون میگم امید است مورد توجه شما دوستان قرار بگیره.

دوره های شبکه، برنامه نویسی، مجازی سازی، امنیت، نفوذ و ... با برترین های ایران

از کنترل RequiredFieldValidator ، برای تبدیل یک کادر متن مثل TextBox ، به یک فیلد اجباری ورود اطلاعات استفاده می شه یعنی کاربر مجبور است فیلد را پر کند سپس به مرحله بعدی برود. برای استفاده از کنترل RequiredFieldValidator باید آن را به یک کنترل متنی مثل TextBox متصل کنید ، یکی از خصوصیاتی که RequiredFieldValidator دارد خاصیت ControlToValidate است که باید این گزینه بر روی کنترل متنی Set شود یعنی کنترلی که میخواهید خالی نباشد ،برای این منظور باید مقدار خاصیت ControlToValidate را برابر با ID یا Name اون کنترل قرار بدید .

مثال : در مثال زیر دو کنترل کادر متن یا TextBox داریم که می خواهیم حتما کاربر در آن مقدار را وارد نماید ، همچنین دو تا دگمه یا Button داریم که میخواهیم این تعتبار سنجی فقط بر روی یکی از این دو Button اعمال شود . برای این منظور دو کنترل RequiredFieldValidator را از قسمت ToolBox به صفحه اضافه کرده یعنی ابتدا روی کنترل textbox کلیک کرده سپس toolbox را باز کنید و کنترل RequiredFieldValidator را دابل کلیک کنید و سپس روی کنترل ایجاد شده F4 میزنیم یا properties میگیریم و خاصیت ControlToValidate را برابر با ID یا Name کنترل متنی قرار میدهیم با این کار آن را به کادر متن متصل نموده ایم .

خاصیت دیگری که میتوانیم پر کنیم Error Message می باشد که میتوانید متن خطایی که قرار است به کاربر نشان دهد را پر میکنیم معمولاً این آیتم را با علامت ستاره پر میکنند ، خاصیت دیگری که پیشنهاد میشود پر شود Fore Color است که رنگ Red بهترین گزینه است تا کاربر را با پیغام متوجه سازد . ممکن است به مشکل اجرا بر بخورید برای اینکه به مشکل بر نخورید کد زیر را در Web Config قرار دهید :

<appSettings>
      <add key="ValidationSettings:UnobtrusiveValidationMode" value="None" />
</appSettings>

خب کار تمام است حالا میتوانید کاربر را مجبور کنید فیلد ها را پر کند اما ما گفتیم دو تا فرم ما دو دگمه دارد که این عملیات را میخواهیم فقط بر روی یک دگمه ایجاد شود تا اینجا هر دگمه ای بر روی فرم قرار بگیرد شامل این اتفاق Validate میشود اما برای اینکه دگمه ای را از این قائده مستثنی کنیم کافی است روی دگمه مورد نظر F4 یا properties بگیریم و خاصیت causes Validation را برابر با False قرار دهیم در این صورت وقتی اون دگمه رو بزنیم حتی اگر فیلد های Text box هم پر نشده باشن به صفحه مورد نظر هدایت میشویم. در ادامه این موضوع را به صورت تصویری میبینیم:

انجام مراحل RequiredFieldValidator

در تصویر بالا همه چیز گویا هست سعی کردم تنظیمات رو مو به مو بنویسم تا به مشکل بر نخورید و همانطور که در تصویر فوق مشاهده میکنید ما دو تا دگمه داریم که میخواهیم دگمه راهنما رو وقتی میزنیم به یه صفحه دیگه بریم یعنی بدون پر کردن Text box ها برای این منظور در تصویر زیر خاصیت مشخص شده را برابر با False میکنیم:

تنظیم کردن RequiredFieldValidator

بر روی دگمه help هم دابل کلیک کنید تا بتوانید با کلیک بر روی این دگمه به صفحه دیگری هدایت شوید برای این منظور پس از دابل کلیک بر روی دگمه راهنما کد زیر را وارد میکنیم:

      protected void Button2_Click(object sender, EventArgs e)
    {
          //Welcome to tosinso.com
        Response.Redirect("help.aspx");
    }

پایدار باشید و در پناه حق


فرهاد خانلری
فرهاد خانلری

کارشناس ارشد شبکه مایکروسافت

فرهاد خانلری ، مدرس شبکه و برنامه نویسی مبتنی بر زیرساخت های مایکروسافت ، سابقه فعالیت در موسسات و مراکز دولتی در قالب پروژه ، مشاوره و تدریس ، برنامه نویسی ++C ، سی شارپ و دات نت ، متخصص و مدرس شبکه های مبتنی بر سیستم عاملهای مایکروسافت و سرویس های مربوطه ، سخت افزار و ...

نظرات