
یادگیری سی شارپ از مفاهیم پایه تا پروژه محور: شیگرایی، کار با SQL و LINQ، ORMها (Entity Framework)، ساخت پروژه مدیریت رستوران با گزارشات حرفهای و امکانات کامل!
مشاهده بیشتر
یادگیری MVC Core از مبانی تا پیشرفته: شیگرایی، Routing، Entity Framework، امنیت، تست یونیت، Razor، Ajax، و پروژههای کاربردی! یک دوره کامل برای تسلط بر توسعه وب با ASP.NET Core. به صورت حضوری و آنلاین!
مشاهده بیشترمشخصات مقاله
آموزش متد Validation Summary در ASP.Net MVC
آموزش کار با متد Validation Summary در ASP.Net MVC :
متد کمکی ()Validation Summary یک لیست (المنت ul) از پیام های مربوط به عملیات اعتبارسنجی اطلاعات که در شی Modelstate Dictionary Object موجود است را تولید کرده و نمایش می دهد.
به عبارت دیگر از متد ()ValidationSummary می توان برای نمایش یکباره تمامی پیام های خطای رخ داده مربوط به تمامی فیلدها، استفاده کرد. همچنین می توان از این متد جهت نمایش سایر پیام های هشدار یا خطا دلخواه بهره گرفت.
شکل زیر نشان داده نحوه عملکرد متد ()ValidationSummary و نمایش چندین پیام خطا رخ داده به صورت لیست است :

ساختار کلی استفاده از متد کمکی ()ValidationSummary()ValidationSummary به صورت زیر است :
MvcHtmlString ValidateMessage(bool excludePropertyErrors, string message, object htmlAttributes)
به صورت پیش فرض، متد ()ValidationSummary، خطاهای در سطح هر فیلد را فیلتر می کند. اگر می خواهید خطاهای مربوط به هر فیلد را ()ValidationSummaryبه صورت خلاصه نمایش دهید، بایستی همانند کد زیر، مقدار خاصیت excludePropertyErrors را برابر false قرار دهید :
@Html.ValidationSummary(false, "", new { @class = "text-danger" })
بنابراین، با اجرای کد مثال فوق، نمای Edit View، کلیه پیام های خطا را به صورت خلاصه و یکجا در بالای فرم نمایش می دهد. حتما توجه داشته باشید که در کد فوق، برای هر یک از فیلد از یک متد ()ValidationMessageFor استفاده نکرده اید :

آموزش نمایش پیام خطا دلخواه در متد ()ValidationSummary :
می توانید یک پیام خطا دلخواه را نیز توسط متد ()ValidationSummary نمایش دهید. برای مثال، فرض کنید می خواهید پیام خطایی نمایش دهید که نام دانش آموز وارد شده (خاصیت StudentName)، قبلا در پایگاه داده وجود دارد.
برای نمایش یک پیام خطای دلخواه، بایستی خطا (error) مورد نظر را که می خواهید پیام ویژه آن صادر شود را در یک متد اجرایی کلاس ModelState، به صورت زیر تعریف کنید :
if (ModelState.IsValid) { //check whether name is already exists in the database or not bool nameAlreadyExists = * check database * if(nameAlreadyExists) { ModelState.AddModelError(string.Empty, "Student Name already exists."); return View(std); } }
همانطور که در کد مثال فوق مشاهده می کنید، ما با استفاده از متد ModelState.AddModelError یک کنترل کننده خطای خاص را به کلاس اضافه کرده ایم. سپس متد ValidationSummary، به صورت خودکار تمامی خطاهای اضافه شده در ModelState را تمایش خواهد داد :

بنابراین شما از متد کمکی ()ValidationSummary می توانید برای نمایش پیام خطاهای دلخواه در ASP.Net MVC استفاده کنید.