ASP.NET MVC 3/4 ValidationMessageFor没有html标记

时间:2013-05-07 18:08:15

标签: c# asp.net-mvc asp.net-mvc-4 razor

是否有办法利用Html.ValidationMessageFor()返回验证文本而不在其周围添加HTML标记?

目前此代码:

@Html.ValidationMessageFor(m => m.SomeProperty)

返回:

<span class="field-validation-error" data-valmsg-for="Model.SomeProperty" data-valmsg-replace="true">This field is required.</span>

我更喜欢这个:

This field is required.

2 个答案:

答案 0 :(得分:2)

m0s的评论向我指出了这个StackOverflow问题/答案。 (How do I get the collection of Model State Errors in ASP.NET MVC?

这可能是多余的,但这是我的工作解决方案:

@if (ViewData.ModelState.ContainsKey("SomeProperty))
{
     @Html.TextBoxFor(m => m.SomeProperty), 
          new {
               @some_attribute = ViewData.ModelState["SomeProperty"].Errors[0].ErrorMessage })     
}

显然,你想确保你的ModelState在解决第一个问题之前有错误,在我的情况下,这将永远是真的。

答案 1 :(得分:0)

尝试:     htmlHelper.ValidationMessage(string ModelName)。我认为返回没有标记的字符串。