2015-04-24 11 views
8

Tôi không muốn hiển thị ValidationSummary trong trường hợp nó chỉ hiển thị các lỗi liên quan đến trường đã hiển thị. Tuy nhiên tôi cần ValidationSummary khi lỗi máy chủ tùy chỉnh bên xác nhận xảy ra như:Làm thế nào để không hiển thị ASP MVC ValidationSummary trong trường hợp khi lỗi đã được hiển thị trường theo trường?

if (!UserManager.IsEmailConfirmed(user.Id)) 
{ 
    AuthenticationManager.SignOut(); 
    ModelState.AddModelError("", "You need to confirm your email."); 
    return View(model); 
} 

enter image description here

enter image description here

+1

'@ Html.ValidationSummary (true)' –

+0

@Stephen Lúc đầu tôi nghĩ điều này đã được trả lời trước đó. Không thể tìm thấy một dupe mặc dù. Bạn có biết gì không? – CodeCaster

+0

@CodeCaster Tôi nghĩ rằng tôi đã trả lời một câu hỏi gần như giống hệt nhau trước đây - chỉ không thể tìm thấy nó –

Trả lời

10

Sử dụng @Html.ValidationSummary(excludePropertyErrors: true).

Quá tải này, khi excludePropertyErrorstrue, ẩn các lỗi thuộc tính như "Trường Email không phải là địa chỉ e-mail hợp lệ"."Trường Mật khẩu là bắt buộc". từ tóm tắt xác thực. Xem thêm @Html.ValidationSummary(true) - What's the true do?.

không phát hiện xem bạn có in những thứ đó mặc dù @Html.ValidationMessageFor() hay không, bạn có thể không gửi được biểu mẫu không cho bạn biết lý do chúng không thành công.

Để tự thêm lỗi xác nhận không -property, gọi ModelState.AddModelError("", "Custom error") (lưu ý chuỗi rỗng) như được giải thích trong Add error message to @Html.ValidationSummaryASP.NET MVC Html.ValidationSummary(true) does not display model errors.

0

như @CodeCaster nói đơn giản add

@ Html.ValidationSummary (true).

Nếu thông số bool là đúng thì chỉ có lỗi cấp mô hình mới được hiển thị. Nếu tham số sai thì tất cả các lỗi sẽ được hiển thị. reference

Các vấn đề liên quan