با عرض سلام و وقت بخیر خدمت کاربران سایت پی وی لرن . و کاربرانی که دوره کامل آموزش ASP.NET MVC ، را دنبال می کنند. زمانیکه شما اعتبارسنجی های متعددی را برای فیلدهای یک فرم تعریف کرده باشید، نیاز دارید برای زمانیکه پیغام های اعتبارسنجی زیاد می شود آن ها را بصورت مرتب شده در قالب لیستی نمایش دهید، برای این منظور شما می توانید از متد ValidationSummary در ASP.NET MVC استفاده کنید، که در ادامه ی این مباحث چگونگی استفاده از این متد را بررسی خواهیم کرد.
متد ValidationSummary پیغام های اعتبارسنجی فیلدهای فرم ها را در لیستی که در آبجکت ModelStateDictionary قرار دارد نمایش می دهد.
متد ValidationSummary می تواند برای نمایش تمام خطاهای فیلدهای فرم استفاده شود. همچنین پیغام های خطای تغییر یافته را نیز نمایش می هد.
شکل زیر مثالی از کاربرد متد ValidationSummary را نشان می دهد:
ساختار متد ValidationSummary :
1 | MvcHtmlString ValidateMessage(bool excludePropertyErrors, string message, object htmlAttributes) |
در حالت پیش فرض ، ValidationSummary پیغام های خطای سطح فیلترینگ را فیلتر می کند.
اگر شما می خواهید پیغام های خطای فیلد در قالب یک summary (گزارش) نمایش داده شود ویژگی excludePropertyErrors با مقدار false مشخص کنید.
مثال:
1 | @Html.ValidationSummary(false, "", new { @class = "text-danger" }) |
بنابراین ، نمای Edit پیغام های خطا را در قالب یک summary در بخش بالای فرم، نمایش می دهد.
شما می توانید پیغام های خطای سفارشی شده را با استفاده از ValidationSummary نمایش دهید.
برای مثال ما می خواهیم پغام خطایی مبنی بر اینکه نام Student در دیتابیس موجود است را نمایش دهیم.
برای نمایش یک خطای سفارشی شده ، ابتدا باید خطای خود را داخل ModelState در متد اجرایی مناسب تعریف کنید.:
1 2 3 4 5 6 7 8 9 10 11 12 | 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 برای قرار دادن لیست خطاهای اعتبارسنجی فیلدهای یک فرم در یک لیست گزارش منظم بسیار کاربرد دارد. در فصل بعدی به مباحث نمای طراحی در ASP.NET MVC می پردازیم.