Tôi nhận thấy một vấn đề lạ khi sử dụng ModelState.AddModelError để xác thực đầu vào trên biểu mẫu của tôi. Đầu ra từ Html.ValidationMessage không phải là giá trị HTML thực sự nhưng giá trị được mã hóa và do đó kiểu CSS không được áp dụng cho thông báo lỗi.ModelState.AddModelError mã hóa HTML
Ví dụ:
private string errorMessage = "<span class=\"negative\">{0}</span><br class=\"hid\" />";
ModelState.AddModelError("title", String.Format(errorMessage, "Tab title is required"));
Kết quả được hiển thị như:
<span class="field-validation-error"><span class="negative">URL is Required</span><br class="hid" /></span>
này không sử dụng phải là trường hợp với phiên bản beta trước đó của họ và tôi không chắc chắn phương pháp gì để mất ở đây.
Cảm ơn Nick
Tôi không biết nếu điều này làm việc cùng một lúc, nhưng tôi có thể xác nhận rằng nó không có trong MVC 3. –
@ Html.Raw (HttpUtility.HtmlDecode (Html.ValidationMessageFor (x => x.Name) .ToHtmlString())); – George