بررسی ایجاد کردن ValidationMessage در ASP.NET MVC

بررسی ایجاد کردن ValidationMessage در ASP.NET MVC

در این پست از وبسایت پرووید در رابطه با بررسی ایجاد کردن ValidationMessage در ASP.NET MVC صحبت خواهیم کرد. معماری MVC از معمول ترین و پرکاربردترین معماری های ساخت وب اپلیکیشن ها می باشد.

در این قسمت از سری آموزش جامع و رایگان ASP .NET MVC از وب سایت پرووید در رابطه با ValidationMessage به عنوان یک Extension Method صحبت خواهیم کرد. در قسمت قبلی از این آموزش نحوه ی پیاده سازی کردن Validation و یا اعتبار سنجی داده ها در یک View را بررسی کردیم و در آن آموزش از دو Extension Method با نامهای ValidationMessage و ValidationMessageFor و ValidationSummary استفاده کردیم.

در این قسمت از این آموزش قصد داریم که بطور خاص و با جزئیات تمام در رابطه با متد ValidationMessage صحبت کنیم. متد Html.ValidationMessage() بصورت کاملاً Loosely Typed عمل می کند و یک ValidationMessage و یا پیام اعتبار سنجی را در رابطه با یک Property خاص از یک Model Class را نشان می دهد. در واقع اگر خطایی برای یک مقدار وارد شده برای یک Property وجود داشته باشد این Extension Method پیغام خطای خود را نشان می دهد.

کدی که در قسمت زیر مشاهده می کنید Signature مربوط به متد ValidationMessage را نشان می دهد.

MvcHtmlString ValidateMessage(string modelName, string validationMessage, object htmlAttributes)

علاوه بر این می توانید با رجوع کردن به MSDN مایکروسافت Overload های مختلف دیگر این متد را نیز بررسی کنید. کدی که در قسمت زیر مشاهده می کنید نحوه ی استفاده کردن از این متد را نشان می دهد.

@model Student  
    
@Html.Editor("StudentName") 
@Html.ValidationMessage("StudentName", "", new { @class = "text-danger" })

همانطور که در این مثال می بینید اولین پارامتر در متد ValidationMessage نام یک Property است که قصد داریم انجام عملیات Validation را برای آن در نظر بگیریم و در صورت وجود یک خطا یک Error Message را نشان بدهیم. نام Property مورد نظر در روند استفاده از متد ValidationMessage در قالب یک String به آن داده می شود. در مثال بالا ما از پروپرتی StudentName استفاده کرده ایم.

بسته ی آموزش ویدئویی ASP.NET Web Forms و Entity Framework در قالب پروژه

از شما دعوت می کنیم که از بسته ی آموزش ویدئویی ASP.NET Web Forms و Entity Framework در قالب پروژه دیدن کنید.

پارامتر دوم برای متد ValidationMessage یک Error Message است که اگر بخواهیم می توانیم بصورت سفارشی و یا Custom آن را تنظیم کنیم و نهایتاً پارامتر سوم دیگر HTML Attribute هایی است که می توانیم تنظیم کنیم. دقت کنید که متد ValidationMessage فقط زمانی Error Message مورد نظر شما را نشان می دهد که با استفاده از Data Annotation ها در Property های Model Class موردتان قوانینی را تعریف کرده باشید.

کدی که در قسمت زیر مشاهده می کنید کلاس Student را نشان می دهد که در آن از Required به عنوان Data Annotation بر روی پروپرتی StudentName استفاده شده است.

public class Student
{
    public int StudentId { get; set; }
    [Required]
    public string StudentName { get; set; }
    public int Age { get; set; }
}

خروجی HTML نهایی شبیه به کد زیر خواهد بود.



<input id="StudentName" 
        name="StudentName" 
        type="text" 
        value="" />

<span class="field-validation-valid text-danger" 
        data-valmsg-for="StudentName" 
        data-valmsg-replace="true">
</span>

حال زمانی که کاربر بدون وارد کردن یک مقدار برای StudentName اقدام به بروز رسانی کردن و یا اصطلاحاً Submit کردن فرم می کند فریم ورک ASP.NET MVC از data- که یکی از Attribute های مربوط به Html5 می شود استفاده می کند و Validation Message مورد نظر را در خروجی نشان می دهد. این موضوع در کد زیر نشان داده شده است.

<span class="field-validation-error text-danger" 
            data-valmsg-for="StudentName" 
            data-valmsg-replace="true">The StudentName field is required.</span>

خروجی این کد در مرورگر شبیه به تصویر زیر می باشد.

validationmessage - بررسی ایجاد کردن ValidationMessage در ASP.NET MVC

تعریف کردن Error Message های سفارشی

علاوه بر استفاده کردن از Error Message هایی که بصورت پیش فرض توسط متد ValidationMessage() نشان داده می شود خودمان می توانیم Error Message های سفارشی و یا Custom را نیز تعریف کنیم. به منظور انجام اینکار می توانیم از متد ValidationMessage() و یا از Data Annotation هایی که بر روی Property های یک Model Class اعمال می کنیم استفاده کنیم. در رابطه با Data Annotation ها توصیه می کنیم که از بسته ی آموزش ویدئویی Attribute ها در سی شارپ ها استفاده کنید. کدی که در قسمت زیر مشاهده می کنید نحوه ی استفاده کردن از Required به عنوان یک Data Annotation و تنظیم کردن یک Error Message سفارشی برای آن را نشان می دهد.

public class Student
{
    public int StudentId { get; set; }
    [Required(ErrorMessage="Please enter student name.")]
    public string StudentName { get; set; }
    public int Age { get; set; }
}

علاوه بر این می توانید بعنوان پارامتر دوم از متد ValidationMessage اقدام به تعریف کردن یک Error Message سفارشی کنید. این موضوع در کد زیر نشان داده شده است.

@model Student  
    
@Html.Editor("StudentName") <br />
@Html.ValidationMessage("StudentName", "Please enter student name.", new { @class = "text-danger" })

امیدواریم که این آموزش از وبسایت پرووید نیز مورد توجه تمامی دوستان عزیز قرار گرفته باشد. از شما دعوت می‌کنیم که از دیگر آموزش های ما در رابطه با فریم ورک MVC استفاده کنید. لیست کامل این آموزش ها را می توانید در پست مربوط به آموزش کامل توسعه وب اپلیکیشن با ASP.NET MVC مشاهده کنید.

مرتضی گیتی
بدون نظر

ارسال نظر

نظر
نام
ایمیل
وب سایت