ASP.NET - MVC - ValidationSummary

ValidationSummary trong MVC 

Phương thức ValidationSummary tạo ra một danh sách không có thứ tự (phần tử ul) các thông báo xác thực nằm trong đối tượng ModelStateDipedia.

Có thể sử dụng ValidationSummary để hiển thị tất cả các thông báo lỗi cho tất cả các trường. Nó cũng có thể được sử dụng để hiển thị các thông báo lỗi tùy chỉnh. Hình dưới đây cho thấy cách xác thực hiển thị các thông báo lỗi.

ValidationSummary

Cú pháp ValidationSummary()

MvcHtmlString ValidateMessage(bool excludePropertyErrors, string message, object htmlAttributes)

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

Hiển thị thông báo bằng cách sử dụng ValidationSummary

Theo mặc định, ValidationSummary lọc ra các thông báo lỗi các trường. Nếu bạn muốn hiển thị các thông báo lỗi các trường dưới dạng tóm tắt, hãy chỉ định ElimPropertyErrors = false.
Ví dụ:

@Html.ValidationSummary(false, "", new { @class = "text-danger" })

Vì vậy, Ở chế độ Edit sẽ hiển thị thông báo lỗi dưới dạng tóm tắt ở trên cùng. Phải đảm bảo rằng bạn không có phương thức ValidationMessageFor cho mỗi trường.

ValidationSummary

Hiển thị thông báo lỗi tùy chỉnh

Bạn cũng có thể hiển thị thông báo lỗi tùy chỉnh bằng cách sử dụng ValidationSummary. Ví dụ: chúng tôi muốn hiển thị một thông báo nếu Tên sinh viên đã tồn tại trong cơ sở dữ liệu.

Để hiển thị thông báo lỗi tùy chỉnh, trước hết, bạn cần thêm lỗi tùy chỉnh vào ModelState trong phương thức hành động thích hợp.

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);
    }
}

Như bạn có thể thấy trong đoạn mã trên, chúng tôi đã thêm các thông báo lỗi tùy chỉnh bằng phương thức ModelState.AddModelError. Phương thức ValidationSummary sẽ tự động hiển thị tất cả các thông báo lỗi được thêm vào ModelState.

Vì vậy, bạn có thể sử dụng phương thức ValidationSummary để hiển thị các thông báo lỗi.