خصوصیت Range، سفارشی‌سازی Attribute و سفارشی‌سازی Validation – جلسه ۳۹

Range Attribute - Custom Attribute & Custom Validation

در این جلسه از آموزش ASP.NET Core به معرفی خصوصیت Range خواهیم پرداخت و همچنین نحوه سفارشی‌سازی Attribute و سفارشی‌سازی Validation را ارائه خواهیم داد. در ادامه مبحث جلسه 38 در مورد اعتبارسنجی فرم‌ها، به معرفی یک خصوصیت دیگر به نام Range خواهیم پرداخت. همچنین روش سفارشی‌سازی خصوصیت‌های (Attribute) مختلف را ارائه خواهیم نمود و در ادامه نحوه ایجاد یک خصوصیت اعتبارسنجی (Validation Attribute) جدید را نیز بررسی میکنیم.

خصوصیت Range

خصوصیت Range جهت تعریف محدوده مجاز برای فیلدهای مختلف با انواع داده مورد کاربرد قرار میگیرد. این خصوصیت و یا همان Attribute نیز در فضای نام System.ComponentModel.DataAnnotations قرار دارد و برای استفاده از آن، میبایست این فضای نام به Model و یا ViewModel مربوطه اضافه گردد. این Attribute دارای Overloaded ورژن‌های مختلف میباشد که بر اساس نیاز میتوان از انها استفاده نمود.

همانگونه که در قطعه کد فوق مشاهده مینمایید، خصوصیت Range بروی فیلدهای Amount و Date اعمال گردیده است.

سفارشی‌سازی Attribute در ASP.NET Core

جهت سفارشی‌سازی Attribute میبایست یک کلاس درون پروژه خود ایجاد نمایید که ارث‌بری آن از خصوصیت مورد نظر ما باشد. به عنوان مثال در صورت نیاز به سفارشی‌سازی StringLength Attribute، کلاس ما باید از این Attribute ارث‌بری نماید. این کلاس میتواند در قسمت‌های مختلف پروژه ایجاد گردد، ولی جهت حفظ ساختار پروژه بهتر است آنرا در پوشه خاصی ایجاد نماییم. همچنین برای استفاده از کلاس والد باید فضای نام آن به کلاس مربوطه اضافه گردد (System.ComponentModel.DataAnnotations).

سپس با توجه به نیاز پروژه، متد Base را فراخوانی نموده و تغییرات دلخواه را اعمال می‌نماییم.

ما در این مثال یک Attribute به نام AllowedCharacterLength ایجاد نمودیم که از خصوصیت StringLengthAttribute ارث‌بری مینماید. این خصوصیت نیازی به پارامتر ورودی ندارد و در صورت اعمال بروی فیلدهای رشته‌ایی، حداکثر تعداد کاراکتر آنرا برابر 10 قرار میدهد. همچنین دیگر پارامترهای مربوط به StringLengthAttribute و ValidationAttribute به عنوان والد این خصوصیت مانند ErrorMessage در دسترس میباشند.

سفارشی‌سازی Validation در ASP.NET Core

علاوه بر امکان سفارشی‌سازی Attribute ما امکان ایجاد یک Validation سفارشی را نیز داریم. برای این منظور مانند مثال قبل نیاز به ایجاد یک کلاس داریم. این کلاس باید از ValdationAttribute ارث‌‌بری نماید و به این منظور نیاز به اضافه نمودن فضای نام مربوطه نیز داریم (System.ComponentModel.DataAnnotations).

سپس با استفاده از متد IsValid شرایط مورد نظر اعتبارسنجی را بررسی نموده و نتیجه را به صورت Boolean باز خواهیم گرداند.

در مثال فوق، در صورت استفاده خصوصیت AllowedCharacterRange برای فیلدهای رشته ایی، شرط اعتبارسنجی ورود رشته بین 5 تا 10 کاراکتر خواهد بود.

در صورت نیاز به جزئیات بیشتر، میتوانید ویدئو آموزشی این جلسه را تماشا نمایید. همچنین برای آگاهی از جلسات بعدی این دوره آموزشی، ما را در اینستاگرام، تلگرام، یوتیوب و آپارات دنبال کنید. همچنین لیست کامل جلسات در این قسمت در دسترس شما میباشد.

تماشای ویدیو در یوتیوب ما

دانلود اسلایدهای آموزشی این جلسه از اینجا

برچسب ها

0 0 رای ها
امتیازدهی به مقاله
guest

0 نظرات
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
0
افکار شما را دوست داریم، لطفا نظر دهید.x