ASP.NET - MVC - ValidationMessage

ASP.NET MVC: ValidationMessage

Html.ValidationMessage () là một phương thức mở rộng. Nó hiển thị thông báo xác nhận nếu có lỗi tồn tại cho trường được chỉ định trong đối tượng ModelStateDipedia.

Cú pháp ValidationMessage() 

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

ValidationMessage có nhiều phương thức. Vui lòng truy cập MSDN để biết tất cả ValidationMessage.

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

Trong ví dụ trên, tham số đầu tiên trong phương thức ValidationMessage là tên thuộc tính mà chúng ta muốn hiển thị thông báo lỗi, ví dụ: Tên học sinh. Tham số thứ hai dành cho thông báo lỗi tùy chỉnh và tham số thứ ba dành cho các thuộc tính html như css, style, v.v.

Phương thức ValidationMessage () sẽ chỉ hiển thị một lỗi, nếu bạn đã cài đặt thuộc tính DataAnnotations cho thuộc tính được chỉ định trong lớp model. Dưới đây là lớp Student trong đó thuộc tính "Required" được áp dụng cho thuộc tính StudentName.

Ví dụ Model Student

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

Đoạn mã trên sẽ tạo ra html sau.

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

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

Bây giờ, khi người sử dụng gửi form mà không nhập StudentName, thì ASP.NET MVC sử dụng thuộc tính dữ liệu của Html5 để xác thực và thông báo xác thực mặc định sẽ được đưa vào, khi xảy ra lỗi xác thực, như hiển thị bên dưới.

Html có thông báo xác thực:

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

Lỗi thông báo :

Tùy chỉnh thông báo lỗi

Bạn có thể hiển thị thông báo lỗi của riêng bạn thay vì thông báo lỗi mặc định như được hiển thị ở trên. Bạn có thể cung cấp một thông báo lỗi tùy chỉnh trong thuộc tính DataAnnotations hoặc phương thức ValidationMessage ().

Sử dụng tham số của các thuộc tính DataAnnotation để cung cấp thông báo lỗi tùy chỉnh của riêng bạn như hiển thị bên dưới.

Ví dụ thông báo lỗi tùy chỉnh trong Model

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

Ngoài ra, bạn có thể chỉ định một thông báo là tham số thứ hai trong phương thức ValidationMessage () như hiển thị bên dưới.

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