سبد خرید 0

اعتبار سنجی کنترل ها در ASP.NET با Data Annotation ها

همانطور که اطلاع دارید ، راه های زیادی برای اعتبار سنجی کنترل ها در صفحات مختلف یک پروژه ASP.NET وجود دارد، هم می توانید از اعتبار سنجی های سمت کلاینت و یا از اعتبار سنجی سمت سرور استفاده کنید . کنترل هایی هم در ASP.NET وجود دارند که قبلا به توضیح مختصری در باره آنها در اینجا پرداختیم .

در این مقاله قصد داریم اعتبار سنجی های خود را با استفاده از کلاس DataAnnotations که از دات نت 3.5 به بعد موجود می باشد انجام دهیم .

اول قدم برای استفاده و افزودن اعتبارسنجی ها به کنترل ها از کلاس DataAnnotation افزودن namespace های زیر به کلاس مورد نظر می باشد :

حال چندین خاصیت به کلاس Validation اضافه می کنیم و برای هر کدام یک سری محدودیت ها اعمل می کنیم :

در ابتدا یک خاصیت به اسم FirstName به کلاس فوق اضافه می کنیم :

فیلتر هایی که می خواهیم به این خاصیت اعمال کنیم به قرار زیر است :

1- می خواهیم کاربر حتما این فیلد را پر کند ، پس برای این کار خاصیت فوق را به  Attribute زیر مزین می کنیم :

با این  کار ، مشخص کرده ایم که این فیلد حتما باید مقدار داشته باشد .علاوه بر این می توان یک پیغام هر برای آن تعیین کرد که کاربر را از لازم بودن این فیلد مطلع کنیم .برای این کار Attribute فوق را به صورت زیر تغییر می دهیم :

2- می توان طول رشته وارد شده برای فیلد فوق از طرف کاربر را هم مدیریت کرد برای این کار از attribute زیر استفاده می کنیم :

همچنین می توان یک پیغام را هم برای آن تعیین کرد که کاربر را از فیلتر فوق مطلع کنیم ، برای این کار به صورت زیر عمل خواهیم کرد :

حال که با نحوه استفاده از attribute های کلاس DataAnnotations آشنا شدیم در ادامه فقط به معرفی و عملکرد تعدادی از attribute های این کلاس می پردازیم .

Range :

یک محدوده حداقل و حداکثر برای فیلد مورد نظر تعیین می کند .

DataType :

نوع یک فیلد را تعیین می کند . برای مثال در هنگام نمایش یک textbox برای Password در تگ TextBox خاصیت TextMode آن را برابر Password قرار می دایم . با این خاصیت هم می توان هم چین کاری انجام داد .

 Compare :

برای مقایسه یک فیلد با محتوای یک فیلد دیگر به کار می رود . کاربرد آن در هنگام چک کردن Confirm های مختلف می باشد .

ScaffoldColumn :

این امکان را می دهد که یک فیلد را در فرم مخفی کنیم :

RegularExpression :

از این attribute برای نوشتن عبارات با قاعده استفاده می شود . مثالی از کاربرد این attribute در زمان بررسی صحت فرمت یک آدرس ایمیل می باشد .

محدود کردن یک فیلد به اعداد :

در بعضی از موارد ممکن است که فیلدی داشته باشیم که کاربر فقط قادر به وارد کردن اعداد باشد ، برای نمونه شماره تلفن و یا کد ملی . برای انجام این کار راه های زیر وجود دارد :

1- اسفاده از Regular Expression همانند زیر :

2- استفاده از attribute زیر :


3-  از Nuget  مقدار DataAnnotationsExtensions را جستجو کرده و آن را  نصب کنید . بعد از اتمام دانلود package فوق ، ابتدا namespace زیر را به کلاس خود اضافه نمایید :

با افزودن namespace فوق ، می توان از attribute زیر جهت فیلتر فیلد های عددی استاده نمود :


و در پایان برای اعتبار سنجی ورودی های کاربر و نمایش پیغام های مربوطه در داخل رویداد Page_Load قطعه کد زیر را می نویسیم :

و پیاده سازی متد ShowMessage :


 

اشتراک گذاری:

مطالب زیر را حتما مطالعه کنید

دیدگاهتان را بنویسید

keyboard_arrow_up